Quality RTOS & Embedded Software

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


Idle Task restrictions

Posted by znatok on August 26, 2014

HI, I plan to use Idle Task for different house keeping activities. The first think I plan to implement is de-fragmentation of the external SPI Flash. For this purpose I need to initiate sector erase operation. Flash is used by a number of tasks and arbitration is done with mutex. My question is if I can use mutex from Idle Task. I understand I can't wait on mutex from Idle Task but can i query/acquire the mutex with xTicksToWait=0. If Idle Task takes the semaphore won't in cause to dead lock once another higher priority task will attempt to take it and will block on it? What restrictions should be considered at all in Idle Task? I understand I can't just treat it as a task with lowest possible priority? Thanks.

Idle Task restrictions

Posted by rtel on August 26, 2014

Taking a semaphore with a block time of 0 is fine. Best to use a mutex rather than a standard semaphore because doing so will temporarily raise the priority of the idle task should a higher priority task attempt to take the same mutex.


[ 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.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

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.


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


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