blob: 9a10b965460d88f14283daec2fa5a92164cef3e4 [file] [log] [blame]
Title: C++ Synchronization
Description:
The sample project illustrates usage of pure virtual class, member
functions with different types of arguments, global objects constructor
invocation.
A simple application demonstrates basic sanity of the nanokernel.
The background task and a fiber take turns printing a greeting message to the
console, and use timers and semaphores to control the rate at which messages
are generated. This demonstrates that nanokernel scheduling, communication,
and timing are operating correctly.
--------------------------------------------------------------------------------
Building and Running Project:
This nanokernel project outputs to the console. It can be built and executed
on QEMU as follows:
make run
--------------------------------------------------------------------------------
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:
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
main: Hello World!
fiber_entry: Hello World!
<repeats endlessly>