Title: Critical section 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 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: tc_start() - Test Microkernel Critical Section API Obtained expected value of 10209055 Enabling time slicing ... Obtained expected value of 15123296 =================================================================== PASS - RegressionTask. =================================================================== PROJECT EXECUTION SUCCESSFUL