Quality RTOS & Embedded Software

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




Loading

Maximal Task Stack Size

Posted by Daniel Schaeftner on January 12, 2012
Hy, my actual project needs to use more than 255kB of heap. That heap can be found in my external SRAM. For using it I have to set the Task Stack Size of the RTOS to that huge Value. Now I want to know if FreeRTOS hasproblems with huge task stacks or is there any limitation of task stack? Or is it just my external memmory which limitates me?

Daniel

RE: Maximal Task Stack Size

Posted by Dave on January 12, 2012
“Hy, my actual project needs to use more than 255kB of heap. That heap can be found in my external SRAM. For using it I have to set the Task Stack Size of the RTOS to that huge Value”


Why? Task stacks are allocated from the FreeRTOS heap, so if the 255kB heap in the external RAM is being used as the FreeRTOS heap (if pvPortMalloc() allocates RAM from there), then creating a task with a stack that size will use all the heap, and further calls to pvPortMalloc() will fail. Normally heap usage is separate from stack usage. Maybe you are right, but from your comment, there is no hint as to why you need to use all the heap as stack, leaving no heap.

“Now I want to know if FreeRTOS hasproblems with huge task stacks or is there any limitation of task stack?”


The stack size parameter in xTaskCreate() is unsigned short, so 0xffff is the largest stack. If you want to make it bigger, then change the data type in the function parameter.


[ 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