Title: SysKernel Description: The SysKernel test measures the performance of the nanokernel's semaphore, lifo, fifo, and stack objects. -------------------------------------------------------------------------------- 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: MODULE: Nanokernel API test KERNEL VERSION: Each test below are repeated 5000 times and the average time for one iteration is displayed. TEST CASE: Semaphore channel - 'nano_fiber_sem_take_wait' DESCRIPTION: testing 'nano_sem_init','nano_fiber_sem_take_wait', 'nano_fiber_sem_give' functions; Starting test 'nano_fiber_sem_take_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: Semaphore channel - 'nano_fiber_sem_take' DESCRIPTION: testing 'nano_sem_init','nano_fiber_sem_take', 'fiber_yield', 'nano_fiber_sem_give' functions; Starting test 'nano_fiber_sem_take'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: Semaphore channel - 'nano_task_sem_take_wait' DESCRIPTION: testing 'nano_sem_init','nano_fiber_sem_take_wait', 'nano_fiber_sem_give', 'nano_task_sem_give', 'nano_task_sem_take_wait' functions; Starting test 'nano_task_sem_take_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: LIFO channel - 'nano_fiber_lifo_get_wait' DESCRIPTION: testing 'nano_lifo_init','nano_fiber_lifo_get_wait', 'nano_fiber_lifo_put' functions; Starting test 'nano_fiber_lifo_get_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: LIFO channel - 'nano_fiber_lifo_get' DESCRIPTION: testing 'nano_lifo_init','nano_fiber_lifo_get_wait', 'nano_fiber_lifo_get', 'nano_fiber_lifo_put', 'fiber_yield' functions; Starting test 'nano_fiber_lifo_get'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: LIFO channel - 'nano_task_lifo_get_wait' DESCRIPTION: testing 'nano_lifo_init','nano_fiber_lifo_get_wait', 'nano_fiber_lifo_put', 'nano_task_lifo_get_wait', 'nano_task_lifo_put' functions; Starting test 'nano_task_lifo_get_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: FIFO channel - 'nano_fiber_fifo_get_wait' DESCRIPTION: testing 'nano_fifo_init','nano_fiber_fifo_get_wait', 'nano_fiber_fifo_put' functions; Starting test 'nano_fiber_fifo_get_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: FIFO channel - 'nano_fiber_fifo_get' DESCRIPTION: testing 'nano_fifo_init','nano_fiber_fifo_get_wait', 'nano_fiber_fifo_get', 'nano_fiber_fifo_put', 'fiber_yield' functions; Starting test 'nano_fiber_fifo_get'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: FIFO channel - 'nano_task_fifo_get_wait' DESCRIPTION: testing 'nano_fifo_init','nano_fiber_fifo_get_wait', 'nano_fiber_fifo_put', 'nano_task_fifo_get_wait', 'nano_task_fifo_put' functions; Starting test 'nano_task_fifo_get_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: Stack channel - 'nano_fiber_stack_pop_wait' DESCRIPTION: testing 'nano_stack_init','nano_fiber_stack_pop_wait', 'nano_fiber_stack_push' functions; Starting test 'nano_fiber_stack_pop_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: Stack channel - 'nano_fiber_stack_pop' DESCRIPTION: testing 'nano_stack_init','nano_fiber_stack_pop_wait', 'nano_fiber_stack_pop', 'nano_fiber_stack_push', 'fiber_yield' functions; Starting test 'nano_fiber_stack_pop'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE TEST CASE: Stack channel - 'nano_task_stack_pop_wait' DESCRIPTION: testing 'nano_stack_init','nano_fiber_stack_pop_wait', 'nano_fiber_stack_push', 'nano_task_stack_pop_wait', 'nano_task_stack_push' functions; Starting test 'nano_task_stack_pop_wait'. Please wait... TEST RESULT: SUCCESSFUL DETAILS: Average time for 1 iteration: NNNNN nSec END TEST CASE PROJECT EXECUTION SUCCESSFUL