| Overview |
| ======== |
| This document explains the freertos_sem example, what to expect when running it and a brief |
| introduction to the API. The freertos_sem example code shows how semaphores works. Two different |
| tasks are synchronized in bilateral rendezvous model. |
| |
| The example uses four tasks. One producer_task and three consumer_tasks. The producer_task starts by |
| creating of two semaphores (xSemaphore_producer and xSemaphore_consumer). These semaphores control |
| access to virtual item. The synchronization is based on bilateral rendezvous pattern. Both of |
| consumer and producer must be prepared to enable transaction. |
| |
| |
| |
| |
| Toolchain supported |
| =================== |
| - IAR embedded Workbench 8.50.1 |
| - GCC ARM Embedded 9.2.1 |
| |
| Hardware requirements |
| ===================== |
| - Micro USB cable |
| - MIMX8MQ6-EVK board |
| - J-Link Debug Probe |
| - 12V power supply |
| - Personal Computer |
| |
| Board settings |
| ============== |
| No special settings are required. |
| |
| |
| |
| Prepare the Demo |
| ================ |
| 1. Connect 12V power supply and J-Link Debug Probe to the board, switch SW701 to power on the board |
| 2. Connect a USB cable between the host PC and the J1701 USB port on the target board. |
| 3. Open a serial terminal with the following settings: |
| - 115200 baud rate |
| - 8 data bits |
| - No parity |
| - One stop bit |
| - No flow control |
| 4. Download the program to the target board. |
| 5. Launch the debugger in your IDE to begin running the demo. |
| |
| Running the demo |
| ================ |
| After the board is flashed the Tera Term will show debug console output. |
| |
| Example output: |
| Producer_task created. |
| Consumer_task 0 created. |
| Consumer_task 1 created. |
| Consumer_task 2 created. |
| Consumer number: 0 |
| Consumer 0 accepted item. |
| Consumer number: 1 |
| Consumer number: 2 |
| Producer released item. |
| Consumer 0 accepted item. |
| Producer released item. |
| Consumer 1 accepted item. |
| Producer released item. |
| Consumer 2 accepted item. |
| Customization options |
| ===================== |
| |