mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-01 14:52:25 +00:00
This patch adds the Thread Stack Guards configuration option to the synchronization sample. This is meant to be an easy way to prove that the MPU can be dynamically programmed on the supported platforms. Change-Id: I77fbe6af3303ff8a2904768abd4cc9797f03c092 Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
51 lines
1.2 KiB
ReStructuredText
51 lines
1.2 KiB
ReStructuredText
.. _synchronization_sample:
|
|
|
|
Synchronization Sample
|
|
######################
|
|
|
|
Overview
|
|
********
|
|
|
|
A simple application that demonstates 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:
|
|
|
|
.. code-block:: console
|
|
|
|
$ cd samples/synchronization
|
|
$ make run
|
|
|
|
On the supported ARM MCUs the project can be built with the MPU and the Thread
|
|
Stack Guard feature enabled:
|
|
|
|
.. code-block:: console
|
|
|
|
$ cd samples/synchronization
|
|
$ make BOARD=v2m_beetle CONF_FILE=prj_stack_guard.conf
|
|
|
|
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>
|