Quality RTOS & Embedded Software

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




Loading

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++
+---
49

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,
Sander

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) 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