sandervh18 wrote on Thursday, March 03, 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