On a ATmega1284P ( 16Kb Ram) I have a program with 5 task running OK. I use FreeRtos 8.2.1 timers and compile with GCC.
All 5 task use only 3Kb Ram. When I define a new task, the timer task do no start any more. I'm using heap.3. How many tasks are supposed to run in this arquitecture and what should I do to add more tasks. Thanks.
You can create tasks until you run out of RAM. It does not sound like you
have run out of RAM, but have probably run out of heap. If you are using
heap3 then the mount of heap you have is defined by the linker, as heap3
just wraps the malloc() and free() provided by your compiler. If you
increase the size of the heap provided by your compiler you will probably
be able to create more tasks.