FreeRtos beginner questions

mazen_talal wrote on Tuesday, August 08, 2006:

hello all
i am a beginner in FreeRtos and i have some questions i hope you can help me about.
1-how mush Ram do FreeRtos need to work? can it work on MCU having only 512 bytes like atmega8515?

2- the scheduling of Co-routines is Round Robin or it is done explicitly ?

3- why do every task need its own stack but the co-routines can share ony one stack and what will happen if tasks share one stack like co-rotuines?

nobody wrote on Tuesday, August 08, 2006:

1) It depends on the number of tasks and the stack size.  See the FreeRTOS FAQ which gives some numbers for the AVR.  512 bytes is probably too few to do anything useful unless you are using co-routines.

2) Co-routines are prioritized and scheduled just like tasks, but are not preemptive.

3) They will not work.  Co-routines can share a stack because they are not preemptive.

Have fun.

mazen_talal wrote on Tuesday, August 08, 2006:


thanks for replying

for my third question i was asking for an explaination not for conclosion, i mean i know it will not work for tasks to share stack like co-routines or it will be only a waste to make a stack for each one , but my question was what will happen if the tasks share the same stack.
thanks for answering my questions and i am waiting for more explaination

nobody wrote on Wednesday, August 09, 2006:

If two tasks use the same stack they will simply corrupt the memory used by the other task, including the context, and the program will crash very quickly.