mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-07 07:13:11 +00:00
Using find_package to locate Zephyr. Old behavior was to use $ENV{ZEPHYR_BASE} for inclusion of boiler plate code. Whenever an automatic run of CMake happend by the build system / IDE then it was required that ZEPHYR_BASE was defined. Using ZEPHYR_BASE only to locate the Zephyr package allows CMake to cache the base variable and thus allowing subsequent invocation even if ZEPHYR_BASE is not set in the environment. It also removes the risk of strange build results if a user switchs between different Zephyr based project folders and forgetting to reset ZEPHYR_BASE before running ninja / make. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no> |
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
prj.conf | ||
README.rst | ||
sample.yaml |
.. _synchronization_sample: Synchronization Sample ###################### Overview ******** A simple application that demonstrates basic sanity of the kernel. Two threads (A and B) take turns printing a greeting message to the console, and use sleep requests and semaphores to control the rate at which messages are generated. This demonstrates that kernel scheduling, communication, and timing are operating correctly. Building and Running ******************** This project outputs to the console. It can be built and executed on QEMU as follows: .. zephyr-app-commands:: :zephyr-app: samples/synchronization :host-os: unix :board: qemu_x86 :goals: run :compact: Sample Output ============= .. code-block:: console threadA: Hello World! threadB: Hello World! threadA: Hello World! threadB: Hello World! threadA: Hello World! threadB: Hello World! threadA: Hello World! threadB: Hello World! threadA: Hello World! threadB: Hello World! <repeats endlessly> Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.