freertos_sem_static
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.
Prepare the Demo
Connect a serial cable from the debug UART port of the board to the PC. Start Tera Term (http://ttssh2.osdn.jp) and make a connection to the virtual serial port.
Start Tera Term
New connection -> Serial
Set appropriate COMx port (x is port number) in Port context menu. Number is provided by operation system and could be different from computer to computer. Select COM number related to virtual serial port. Confirm selected port by OK button.
Set following connection parameters in menu Setup->Serial port… Baud rate: 115200 Data: 8 Parity: none Stop: 1 Flow control: none
Confirm selected parameters by OK button.
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.