Quality RTOS & Embedded Software

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




Loading

How to create task in suspended state ?

Posted by Malloy1980 on May 10, 2012
How to ctreate task in suspended state ?
It is necessary that, after creating a task was suspended state.

void MyTask(void* arg)
{
vTaskSuspend(NULL);
for(;;)
{
...
}
}

This option is not suitable, since the problem may be a low priority and "vTaskResume" for this task will be called before than it takes control.

RE: How to create task in suspended state ?

Posted by Richard on May 10, 2012
Before the scheduler has started it is possible to create a task, then suspend it, using the standard FreeRTOS API functions. Then, when the kernel is started, the created task will already be in the suspended state. There is no way of doing this after the scheduler has been started though.

However, if the scheduler is already running, and task A creates task B, then task B will not run if it has a priority below task A until task A blocks. Therefore task A can create task B and put task B into the suspended state, knowing there is no way that task B could have executed. If necessary, task A could temporarily raise its priority before creating task B to ensure its priority is above that of B, then lower its own priority back to its original value once task B was created and safely suspended.

Hope that helps.

Regards.


[ 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