[En-Nut-Discussion] Large auto variable called from main thread crashed programm
phip at hb9etc.ch
Fri Jan 9 14:40:54 CET 2015
On 09.01.2015 14:33, Uwe Bonnes wrote:
>>>>>> "Philipp" == Philipp Burch <phip at hb9etc.ch> writes:
> Reading enmem21e.pdf and arch/cm3/os/nutinit.c
> #ifndef NUT_THREAD_MAINSTACK
> #define NUT_THREAD_MAINSTACK 1024
> make things clear: Main stack is only for idle thread, main program stack as
> thread stack is allocated in pre-defined size from heap.
'main' and 'idle' are two different threads with different stacks. You
can specify sizes for both with the configurator:
RTOS Kernel -> Multithreading -> Idle/Main Thread Stack Size
> To cite enmen21e:
>> To avoid wasting stack space, the application should...
>> ...not declare large non-static arrays or structures within functions.
Keeping large structures in static memory is probably always a good
idea, no matter if or which OS is in use ;)
Could you fix the problem?
More information about the En-Nut-Discussion