Quality RTOS & Embedded Software

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




Loading

How Many task can run concurrently

Posted by mukeshtalks on September 3, 2015

Hi, I am Using STM32F303 (ARM Cortex M4F), IAR EWARM Version 7.40. I have created 5 tasks in my project with same peiority and i have seen only three task run concurrently. I have printing debug messages from all five tasks but getting only from three. I tried task delay also after this also entering into three task only. Can you please help me out how any task are supported by FreeRTOS

Regards, Mukesh


How Many task can run concurrently

Posted by rtel on September 3, 2015

FreeRTOS does not impose a limit, so the only limit is the amount of RAM your system has.

Each time you create a task RAM is allocated for the stack used by the task. The RAM comes from the FreeRTOS heap, the size of which can be adjusted. You can know immediately that a task was not created by checking the return value of xTaskCreate(), or defining a malloc failed hook.

Be careful how you print from tasks - is your print function thread safe? How much stack is it using? Is it using semi-hosting (which is genrally going to mess up timing) or printing to a UART (or other IO device)?

Regards.


How Many task can run concurrently

Posted by mukeshtalks on September 3, 2015

Hello RTE, Thanks for reply. Please find the details of the task created bellow:

/* Create one of the two tasks. / xTaskCreate( vTask1, "Task 1", 1000, NULL, 2, NULL ); / Create the other task in exactly the same way. / xTaskCreate( vTask2, "Task 2", 1000, NULL, 2, NULL ); // / Create the other task in exactly the same way. */ xTaskCreate( vTask3, "Task 3", 1000, NULL, 2, NULL ); xTaskCreate( vSerialCommTask, "Serial Comm Task", 1000, NULL, 2, NULL ); xTaskCreate( vBatChargeTask, "BatCrgTask", 1000, NULL, 2, NULL );

heap_4 scheme is used. FreeRTOSConfig.h is attached.
I am Using Semi-Hosting not using the USART. is there any link which help me to understand how to use malloc failed hook (Any Example). I am new to FreeRTOS usage so not having Much idea. Please Help Me to find out where i am wrong.

Attachments

FreeRTOSConfig.h (8003 bytes)

How Many task can run concurrently

Posted by rtel on September 3, 2015

In my previous post I noted you may be running out of FreeRTOS heap, suggested ways of determining if this was indeed the case, and provided links to the relevant web pages. Have you read my post, followed the suggestions, and read the linked pages? If not, then at this stage, I can only refer you back to my previous post.


[ 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