Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

use a semaphore as a flag

Posted by barber colman on August 11, 2010
I meed to have a data good flag to use between to tasks. The examples use a binary semaphore to control access to a resource. It appears that the task with the data can creates a binary semaphore and take and gives it back if the data is good. The second task can attempt to take the task with a zero wait time. If the data is good it will be able to get the semaphore if the second task can not take the semaphore.

Is this the proper way to use the binary semaphore as a flag?

RE: use a semaphore as a flag

Posted by Richard Damon on August 11, 2010
What you describe should work. While Binary semaphores can be used for this, in most cases using a mutex is better. One of the big advantage of a mutex is that if a high priority task waits on a mutex for a resource, and a lower priority task currently has it, the lower priority task is given a temporary boost in priority so the higher priority task can get the resource quicker.


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


Careers

FreeRTOS and other embedded software careers at AWS.



FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Renesas

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner