The Initialization Task Table is used to describe
each of the user initialization tasks to the Initialization
Manager. The table contains one entry for each initialization
task the user wishes to create and start. The fields of this
data structure directly correspond to arguments to the
rtems.task_create and
rtems.task_start directives. The number of entries is
found in the number_of_initialization_tasks entry in the
Configuration Table.
The format of each entry in the Initialization Task Table is defined in the following Ada record:
type Initialization_Tasks_Table_Entry is
record
Name : RTEMS.Name; -- task name
Stack_Size : RTEMS.Unsigned32; -- task stack size
Initial_Priority : RTEMS.Task_priority; -- task priority
Attribute_Set : RTEMS.Attribute; -- task attributes
Entry_Point : RTEMS.Task_Entry; -- task entry point
Mode_Set : RTEMS.Mode; -- task initial mode
Argument : RTEMS.Unsigned32; -- task argument
end record;
type Initialization_Tasks_Table is array
( RTEMS.Unsigned32 range <> ) of
RTEMS.Initialization_Tasks_Table_Entry;
type Initialization_Tasks_Table_Pointer is access all
Initialization_Tasks_Table;
A typical declaration for an Initialization Task Table might appear as follows:
Initialization_Tasks : aliased
RTEMS.Initialization_Tasks_Table( 1 .. 2 ) := (
(INIT_1_NAME,
1024,
1,
RTEMS.Default_Attributes,
Init_1'Access,
RTEMS.Default_Modes,
1),
(INIT_2_NAME,
1024,
250,
RTEMS.Floating_Point,
Init_2'Access,
RTEMS.No_Preempt,
2)
);
Copyright © 1988-2004 OAR Corporation