zephyr/samples/cpp_synchronization/nanokernel
Inaky Perez-Gonzalez eb2d8b418c testcases: add automation markup to samples/
Code in samples does not follow an standarized format for reporting
success or operation failure -- thus we use markup (in file sample.tc)
to specify what shall be found in the console to consider execution a
success.

There is a few functional code modifications that add/extend console
messages so verification is possible or easier:

 - hello_world, synchronization: extend the success message to also
   print which core is running the testcase

- pci_enum: print message on success.

Change-Id: Idb6cea03adebe97d97854603f963f4e3d4cb856a
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2016-07-26 08:32:24 +08:00
..
Makefile move sample apps to top level directory under samples/ 2016-02-11 13:08:44 -05:00
prj.conf samples/tests: remove old message about standard security 2016-03-07 16:07:35 +00:00
README.txt move sample apps to top level directory under samples/ 2016-02-11 13:08:44 -05:00
sample.tc testcases: add automation markup to samples/ 2016-07-26 08:32:24 +08:00
testcase.ini move sample apps to top level directory under samples/ 2016-02-11 13:08:44 -05: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 demonstrates basic sanity of the nanokernel.
The background task and a fiber take turns printing a greeting message to the
console, and use timers and semaphores to control the rate at which messages
are generated. This demonstrates that nanokernel scheduling, communication,
and timing are operating correctly.

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

Building and Running Project:

This nanokernel 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:

main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!

<repeats endlessly>