Does SuperCore use heap ?

Stan zylog at club-internet.fr
Tue Jan 13 16:25:12 UTC 2004


Hi,

I thought SuperCore doesn't use heap, only libc does it ( when routine like
open, read, write or malloc are called).
Thus, Workspace is the memory used by RTEMS to allocate objects like tasks
and semaphores etc...
But nevertheless, it seems to me that rtems_task_start allocates memory from
heap.

In my case, I create some tasks :

rtems_task foo( rtems_task_argument no_argument ){
    while(1){
        rtems_task_wake_after( 10 );
    }
    rtems_task_delete( RTEMS_SELF );
}

For example, after ten successful rtems_task_create , I try to start ten
tasks.
If my heap is too small, rtems_task_start cause rtems_fatal_error_occurred
with code RTEMS_NO_MEMORY.

Is it normal ?
Why the memory isn't allocated from the workspace ?
Where is my error ? ;)

[ rtems-4.0.6pre4 ]

Thanks for you help me.


Stan.




More information about the users mailing list