Skip to content

Native Port #1891

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
zephyrbot opened this issue May 13, 2016 · 1 comment
Closed

Native Port #1891

zephyrbot opened this issue May 13, 2016 · 1 comment
Assignees
Labels
area: Test Framework Issues related not to a particular test, but to the framework instead Feature A planned feature with a milestone priority: medium Medium impact/importance bug
Milestone

Comments

@zephyrbot
Copy link
Collaborator

zephyrbot commented May 13, 2016

Reported by Gajinder Vij:

Simulator to improve testability

A native port to Host Operating Systems (Windos and UNIX) would greatly simplify a series of tasks that are currently burdensome, since running natively as an Operating System process has a lot of advantages when developing high-level code:

  • Very fast turnaround build and test time (native compilation and execution of a native executable)
  • Tight coupling with the Host OS' TCP/IP stack for networking tests
  • Full integration with Desktop-grade IDEs (Microsoft Visual Studio for example)
  • Suitability for simple CI and regression testing
  • Ability to use Valgrind and other Desktop tools to profile the RTOS
  • Integration with libraries like SDL for simulated input and GUI design and testing
  • Direct access to the native filesystem for on-the-fly replacement of files

Other IoT RTOSs already have support for this:

This feature has been requested by a company evaluating Zephyr RTOS, as it is critical to their testing infrastructure and development model.

Customer story:

"Our testing/CI system requires that the code under test can be built into an OS native application currently. Zephyr however does not support "native" ports, or ports on top of other scheduling APIs. We would have to make a port of Zephyr on top of Win32/pthreads which is an significant effort. We cannot readily use the existing Zephyr simulation model (QEMU/instruction set simulation based). "

(Imported from Jira ZEP-332)

@zephyrbot
Copy link
Collaborator Author

by Carles Cufi:

A native port of Zephyr to Windows and Linux would be of great interest to us. Being able to debug using native tools (since the image would simply be a normal OS process) for high-level development has a lot of good benefits.

@zephyrbot zephyrbot added priority: medium Medium impact/importance bug area: X86 x86 Architecture (32-bit) area: Test Framework Issues related not to a particular test, but to the framework instead Enhancement Changes/Updates/Additions to existing features labels Sep 23, 2017
@nashif nashif added Feature A planned feature with a milestone and removed Enhancement Changes/Updates/Additions to existing features area: X86 x86 Architecture (32-bit) labels Oct 4, 2017
@nashif nashif added the In progress For PRs: is work in progress and should not be merged yet. For issues: Is being worked on label Oct 7, 2017
nashif pushed a commit to nashif/zephyr that referenced this issue Nov 22, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
nashif pushed a commit to nashif/zephyr that referenced this issue Nov 24, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
nashif pushed a commit to nashif/zephyr that referenced this issue Nov 24, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
nashif pushed a commit to nashif/zephyr that referenced this issue Nov 27, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
aescolar added a commit to aescolar/zephyr that referenced this issue Dec 4, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
@nashif nashif added this to the v1.11.0 milestone Dec 12, 2017
@galak galak mentioned this issue Dec 12, 2017
38 tasks
nashif pushed a commit to nashif/zephyr that referenced this issue Dec 14, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
aescolar added a commit to aescolar/zephyr that referenced this issue Dec 18, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Note that this does not provide Kconfig and Makefiles to integrate
with the default built system.

All this is work in progress.
The garbage/ folder is not meant to be merged ever.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
nashif pushed a commit to aescolar/zephyr that referenced this issue Dec 27, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Origin: Original

Fixes zephyrproject-rtos#1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
@ghost ghost removed the In progress For PRs: is work in progress and should not be merged yet. For issues: Is being worked on label Dec 27, 2017
nashif pushed a commit that referenced this issue Dec 27, 2017
A new arch (posix) which relies on pthreads to emulate the context
switching
A new soc for it (inf_clock) which emulates a CPU running at an
infinely high clock (so when the CPU is awaken it runs till completion
in 0 time)
A new board, which provides a trivial system tick timer and
irq generation.

Origin: Original

Fixes #1891

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Signed-off-by: Anas Nashif <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Test Framework Issues related not to a particular test, but to the framework instead Feature A planned feature with a milestone priority: medium Medium impact/importance bug
Projects
None yet
Development

No branches or pull requests

3 participants