MCUXpresso_MCXA153/boards/frdmmcxa153/freertos_examples/freertos_sem
Yilin Sun 35e678394a
Initial commit v2.14.2
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-02-11 19:33:06 +08:00
..
armgcc Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
board.c Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
board.h Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
clock_config.c Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
clock_config.h Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
freertos_sem_v3_13.xml Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
freertos_sem.c Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
FreeRTOSConfig.h Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
pin_mux.c Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
pin_mux.h Initial commit v2.14.2 2024-02-11 19:33:06 +08:00
readme.md Initial commit v2.14.2 2024-02-11 19:33:06 +08:00

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.

SDK version

  • Version: 2.14.2

Toolchain supported

  • IAR embedded Workbench 9.40.2
  • Keil MDK 5.38.1
  • GCC ARM Embedded 12.2
  • MCUXpresso 11.9.0

Hardware requirements

  • Type-C USB cable
  • FRDM-MCXA153 board
  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo

  1. Connect a Type-C USB cable between the host PC and the MCU-Link port(J15) on the target board.
  2. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  3. Download the program to the target board.
  4. Either press the reset button on your board or 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.