zephyr/samples/legacy/cpp_synchronization/microkernel
Anas Nashif 2bc9d69981 build: abstract emulation and replace qemu goal with run
This will replace the current goal of 'make qemu' with 'make run' and
moves Qemu handling into its own file and into the boards instead of
being architecture specific.

We should be able to add new boards that support some other type of
emulation (by adding scripts/Makefile.<emu type>) and allow the board to
define their own options for the use type of emulation.

'make qemu' will still work, however it will be deprecated, starting
with this commit it is recommended to use 'make run'.

Jira: ZEP-359
Change-Id: I1cacd56b4ec09421a58cf5d010e22e9035214df6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-10 20:20:47 +00:00
..
src samples: remove old kernel support 2016-11-07 11:34:18 -08:00
Makefile samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00
README.txt build: abstract emulation and replace qemu goal with run 2017-01-10 20:20:47 +00:00
prj.conf kernel: add LEGACY_KERNEL option 2017-01-09 19:42:13 +00:00
prj.mdef samples: cpp synchronization: move to legacy/ 2016-11-02 22:05:29 +00:00
sample.tc samples: cpp synchronization: move to legacy/ 2016-11-02 22:05:29 +00:00
testcase.ini samples: tests: tag all legacy test cases and samples 2016-11-30 21:45:22 +00:00

README.txt

Title: C++ Synchronization

Description:

The sample project illustrates usage of pure virtual class, member
functions with different types of arguments, global objects constructor
invocation.

A simple application demonstates basic sanity of the microkernel.
Two tasks (A and B) take turns printing a greeting message to the console,
and use sleep requests and semaphores to control the rate at which messages
are generated. This demonstrates that microkernel scheduling, communication,
and timing are operating correctly.

--------------------------------------------------------------------------------

Building and Running Project:

This microkernel project outputs to the console.  It can be built and executed
on QEMU as follows:

    make run

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

task_a: Hello World!
task_b: Hello World!
task_a: Hello World!
task_b: Hello World!
task_a: Hello World!
task_b: Hello World!
task_a: Hello World!
task_b: Hello World!
task_a: Hello World!
task_b: Hello World!

<repeats endlessly>