zephyr/samples/microkernel/test/test_critical
Allan Stephens c6fbf4d8fc Configure number of task priorities for sample projects
Explicitly configures the number of task priorities for sample
projects that require more than 16 priorities. (This ensures
that the projects continue to work properly when the default
value of NUM_TASK_PRIORITIES is reduced to 16 in an upcoming
commit.)

Change-Id: I03b9ae68a6b782c62c8799f44d17e659e7d6074e
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:48 -05:00
..
src Fix function declarations on samples 2016-02-05 20:13:11 -05:00
Makefile First commit 2015-04-10 16:44:37 -07:00
prj_arm.conf Configure number of task priorities for sample projects 2016-02-05 20:13:48 -05:00
prj_x86.conf Configure number of task priorities for sample projects 2016-02-05 20:13:48 -05:00
prj.vpf First commit 2015-04-10 16:44:37 -07:00
README.txt Remove references to Simics from README.txt files 2016-02-05 20:13:48 -05:00

Title: Critical section ukernel test

Description:

This test verifies that the microkernel task_offload_to_fiber() API operates as
expected.

This test has two tasks that increment a counter.  The routine that
increments the counter is invoked from K_swapper() due to the two tasks
calling task_offload_to_fiber().  The final result of the counter is expected
to be the the number of times task_offload_to_fiber() was called to increment
the counter as the incrementing was done in the context of K_swapper().

This is done with time slicing both disabled and enabled to ensure that the
result always matches the number of times task_offload_to_fiber() is called.

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

Building and Running Project:

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

    make pristine
    make microkernel.qemu

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

Sample Output:

tc_start() - Test Microkernel Critical Section API

Obtained expected <criticalVar> value of 10209055
Enabling time slicing ...
Obtained expected <criticalVar> value of 15123296
===================================================================
PASS - RegressionTask.
===================================================================
VXMICRO PROJECT EXECUTION SUCCESSFUL