Quality RTOS & Embedded Software

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




Loading

portENTER_CRITICAL() ------ vTaskSuspendAll()

Posted by Nobody/Anonymous on January 10, 2007
what happens if I change all "portENTER_CRITICAL()" to "vTaskSupendAll()"??
will this be a risk?
the problem is that I don't want to block that many interrupts.

RE: portENTER_CRITICAL() ------ vTaskSuspendAll()

Posted by Nobody/Anonymous on January 10, 2007
I think you could change some, but not all. The ones in QueueSend and QueueReceive have quite a specific interaction with TaskSuspendAll for example. Also task delete I think would not work. Basically each would have to be looked at in turn. It would not necessarily improve efficiency though. For very short critical sections the enter/exit critical are preferable.

RE: portENTER_CRITICAL() ------ vTaskSuspendAll()

Posted by embeddedc on January 10, 2007
You cannot yield from within a vTaskSupsendAll() vTaskResumeAll() pair. When you do this the yield is pended until the vTaskResumeAll() call.


RE: portENTER_CRITICAL() ------ vTaskSuspendA

Posted by Nobody/Anonymous on January 10, 2007
ok than I think that I will only use it for my functions.
thanks for the fast response!


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




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

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

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