Custom RTEMS task stack location?

Gedare Bloom gedare at gwmail.gwu.edu
Wed Nov 17 20:06:15 UTC 2010


I think this can be done with the User_extensions_thread_create_extension.
How you do it I'm not sure exactly.

With the Class API task create, I don't think that it can be done directly.
However, the functionality is certainly supported from some other
interfaces.
cpukit/rtems/src/taskcreate.c
174   status = _Thread_Initialize(
175     &_RTEMS_tasks_Information,
176     the_thread,
177     NULL,
178     stack_size,
179     is_fp,
180     core_priority,
181     _Modes_Is_preempt(initial_modes)   ? true : false,
182     _Modes_Is_timeslice(initial_modes) ?
183       THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE :
184       THREAD_CPU_BUDGET_ALGORITHM_NONE,
185     NULL,        /* no budget algorithm callout */
186     _Modes_Get_interrupt_level(initial_modes),
187     (Objects_Name) name
188   );

The third argument to _Thread_Initialize is interpreted as an initial stack
location, but the classic API does not use the field (POSIX does I believe).

-Gedare

On Wed, Nov 17, 2010 at 2:23 PM, Cudmore, Alan P. (GSFC-5820) <
alan.p.cudmore at nasa.gov> wrote:

> When creating a task, can the stack be allocated from an absolute address
> rather than having RTEMS allocate it from the workspace?
>
> Thanks,
> Alan
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20101117/a899d3b6/attachment-0001.html>


More information about the users mailing list