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!
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.
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.