How do i calculate the minimal stack size for a task without running it and seeing how much stack it uses? i want to see how much (good estimate) the schedular + Idle task takes and then an empty task on 8 bits proccessor. I know the context switches for empty task and Idle will require 8 bytes for registers, 1 each for current stack pointer, program status word (?) and Program Counter and then each task will take up memory for it’s TCB variables (12 bytes or so with 8 bytes allocated for the name?) So, i estimate about 25bytes for empty tasks without the scheduler… is this right, and what does the scheduler take? is this documented in the FreeRTOS.org website? I could not find it besides 1 32 bit proccessor.
It depends on the processor you are using. You can add up all the stack used to store the context, but then add any stack required by any interrupts that are occurring and the call stack required to get to the part of code that saves the context.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.