Quality RTOS & Embedded Software

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


Is the software stack big enough?

Posted by SanderVH on March 3, 2011
My device: PIC18F4550, software-environment MPLAB IDE

I have a question concerning the software stack size. In the linkerfile there is STACK SIZE=0x60 RAM=BIG_BLOCK, so there are 96 places.
But in the FreeRTOSconfig.h file there is this value #define configMINIMAL_STACK_SIZE( 105 )

1. why is the size in the linkerfile smaller than the configminimalstacksize?
2. when i count, how many bytes we need i get this:

i think, probably wrong because thousands of people calculated it before me, the calculation is like this:

3 dummies for debugging
2 for address parameters
1 empty space
16 for WREG,status,intcon, bsr, fsr2L,..., pclath
20 for .tmpdata and math_data
2 for top global data section
3 for the address of the task on the stack
1 for number of return addresses
1 for afterwards topofstack++

and if we want to save a whole hardware stack we need 139 bytes for the software stack of 1 task.
So actually i don't have any clue how the minimal stacksize is 105, but i think you do, would you mind to tell me?

It would be very kind if someone could see to my questions :) thanks!

Kind regards,

RE: Is the software stack big enough?

Posted by SanderVH on March 4, 2011
Mmm i made a mistake, software stack is not the same as the allocated space per task. Still i want to know the answer of the second question, why a configMINIMAL_STACK_SIZE of 105?

Thanks for the replies.

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

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists