RTEMS Logo

RTEMS 4.6.99.3 On-Line Library


Configuring a System Initialization Task Table

PREV UP NEXT Bookshelf RTEMS C User's Guide

22.7: Initialization Task Table

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 C structure:

typedef struct {
  rtems_name           name;
  rtems_unsigned32     stack_size;
  rtems_task_priority  initial_priority;
  rtems_attribute      attribute_set;
  rtems_task_entry     entry_point;
  rtems_mode           mode_set;
  rtems_task_argument  argument;
} rtems_initialization_tasks_table;
name
is the name of this initialization task.
stack_size
is the size of the stack for this initialization task.
initial_priority
is the priority of this initialization task.
attribute_set
is the attribute set used during creation of this initialization task.
entry_point
is the address of the entry point of this initialization task.
mode_set
is the initial execution mode of this initialization task.
argument
is the initial argument for this initialization task.

A typical declaration for an Initialization Task Table might appear as follows:

rtems_initialization_tasks_table
Initialization_tasks[2] = {
   { INIT_1_NAME,
     1024,
     1,
     DEFAULT_ATTRIBUTES,
     Init_1,
     DEFAULT_MODES,
     1

   },
   { INIT_2_NAME,
     1024,
     250,
     FLOATING_POINT,
     Init_2,
     NO_PREEMPT,
     2

   }
};


PREV UP NEXT Bookshelf RTEMS C User's Guide

Copyright © 1988-2004 OAR Corporation