zephyr/samples/legacy/cpp_synchronization/microkernel
Andrew Boie ef09f8dd5f tests: remove errant -O0
Should never be necessary.

Change-Id: I8c7d1be3e9c9279e12ed6f26d8ab8404ee7d6cb0
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-11-07 19:29:01 +00:00
..
src samples: cpp synchronization: move to legacy/ 2016-11-02 22:05:29 +00:00
Makefile samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00
prj.conf tests: remove errant -O0 2016-11-07 19:29:01 +00:00
prj.mdef samples: cpp synchronization: move to legacy/ 2016-11-02 22:05:29 +00:00
README.txt 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: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00

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 qemu

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

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>