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
Is the software stack big enough?
Is the software stack big enough?
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.