2015-12-18 22:38:05 +08:00
|
|
|
Title: Synchronisation
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
Description:
|
|
|
|
|
2015-06-05 21:15:49 +08:00
|
|
|
A simple application that demonstrates basic sanity of the nanokernel.
|
2015-04-11 07:44:37 +08:00
|
|
|
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:
|
|
|
|
|
2015-06-06 09:49:48 +08:00
|
|
|
make qemu
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2015-06-01 22:30:09 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
2015-04-11 07:44:37 +08:00
|
|
|
Sample Output:
|
|
|
|
|
|
|
|
main: Hello World!
|
|
|
|
fiberEntry: Hello World!
|
|
|
|
main: Hello World!
|
|
|
|
fiberEntry: Hello World!
|
|
|
|
main: Hello World!
|
|
|
|
fiberEntry: Hello World!
|
|
|
|
main: Hello World!
|
|
|
|
fiberEntry: Hello World!
|
|
|
|
main: Hello World!
|
|
|
|
fiberEntry: Hello World!
|
|
|
|
|
|
|
|
<repeats endlessly>
|