===========================================================================
Nucleus Samples - Kernel
===========================================================================


Purpose & Goals
---------------

This sample application illustrates the use of Plus Kernel APIs to show basic use of 
task synchronization and communication primitives.  The simple application does the following:

    * Creates a timer task that just increments a count every 1 second and sets an event
    * Creates a consumer and producer task that send / receive messages using a queue
    * Creates two tasks that compete for a semaphore and share the same task entry function
    * Creates a task that waits on the event set by the timer task and increments a count
    * Creates a task that outputs the state of the system to standard out and refreshes this
      information whenever a key is pressed

What You Will Need
------------------

This sample application will run on any Nucleus platform with sufficient memory.
 
Components Used
---------------

Please reference the sample *.config file for a minimal configuration.  Depending on the product
these can be found within the \samples\ folder or at the base of the system project named 
<app_project_name>.<build_config>.config

How To Run The Application
--------------------------

The following steps explain how to run this sample application:

    * Follow the instructions found in the appropriate BSP document (\bsp\<platform>\docs\<platform>.htm)
      to open a serial terminal and view standard out from the target.
    * Load and run the kernel_demo.out file using a debugger or another method (ie U-Boot, etc).
    * View the demo output and press a key to refresh this output.
