zephyr/samples/nanokernel/test/test_stack
Inaky Perez-Gonzalez 8ddf82cf70 First commit
Signed-off-by:  <inaky.perez-gonzalez@intel.com>
2015-04-10 16:44:37 -07:00
..
src First commit 2015-04-10 16:44:37 -07:00
Makefile First commit 2015-04-10 16:44:37 -07:00
prj_arm.conf First commit 2015-04-10 16:44:37 -07:00
prj_x86.conf First commit 2015-04-10 16:44:37 -07:00
README.txt First commit 2015-04-10 16:44:37 -07:00

Title: test_stack

Description:

This test verifies that the nanokernel stack APIs operate as expected.

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

Building and Running Project:

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

    make pristine
    make nanokernel.qemu

If executing on Simics, substitute 'simics' for 'qemu' in the command line.

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

Sample Output:

tc_start() - Test Nanokernel STACK
Test Task STACK Push

TASK STACK Put Order:  100, 200, 300, 400,
===================================================================
Test Fiber STACK Pop

FIBER STACK Pop: count = 0, data is 400
FIBER STACK Pop: count = 1, data is 300
FIBER STACK Pop: count = 2, data is 200
FIBER STACK Pop: count = 3, data is 100
PASS - fiber1.
===================================================================
Test Fiber STACK Push

FIBER STACK Put Order:  400, 300, 200, 100,
===================================================================
Test Task STACK Pop
TASK STACK Pop: count = 0, data is 100
TASK STACK Pop: count = 1, data is 200
TASK STACK Pop: count = 2, data is 300
TASK STACK Pop: count = 3, data is 400
===================================================================
Test STACK Pop Wait Interfaces

TASK  STACK Push to queue2: 100
Test Fiber STACK Pop Wait Interfaces

FIBER STACK Pop from queue2: 100
FIBER STACK Push to queue1: 200
TASK STACK Pop from queue1: 200
TASK STACK Push to queue2: 300
FIBER STACK Pop from queue2: 300
FIBER STACK Push to queue1: 400
PASS - testFiberStackPopW.
===================================================================
Test ISR STACK (invoked from Fiber)

ISR STACK (running in fiber context) Pop from queue1: 400
ISR STACK (running in fiber context) Push to queue1:
  150,   250,   350,   450,
PASS - testIsrStackFromFiber.
PASS - fiber2.
PASS - testTaskStackPopW.
===================================================================
Test ISR STACK (invoked from Task)

  Pop from queue1: count = 0, data is 450
  Pop from queue1: count = 1, data is 350
  Pop from queue1: count = 2, data is 250
  Pop from queue1: count = 3, data is 150

Test ISR STACK (invoked from Task) - push 450 and pop back 450
PASS - testIsrStackFromTask.
===================================================================
PASS - main.
===================================================================
VXMICRO PROJECT EXECUTION SUCCESSFUL