zephyr/samples/cpp_synchronization/microkernel
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
..
src move sample apps to top level directory under samples/ 2016-02-11 13:08:44 -05:00
Makefile samples: cpp_synchronization: rename local configuration and use one config 2016-04-30 13:43:31 -04:00
prj.conf samples: cpp_synchronization: rename local configuration and use one config 2016-04-30 13:43:31 -04:00
prj.mdef move sample apps to top level directory under samples/ 2016-02-11 13:08:44 -05: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 testcases: sanity check TCs get more language for real HW 2016-06-14 23:49:56 +00: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>