Changeset bfa0476 in rtems


Ignore:
Timestamp:
May 23, 2007, 9:59:24 PM (15 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
7042065
Parents:
16e8d3d
Message:

2007-05-23 Joel Sherrill <joel.sherrill@…>

  • user/conf.t: Add CONFIGURE_MESSAGE_BUFFER_MEMORY. Use rtems/confdefs.h instead of old confdefs.h.
Location:
doc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • doc/ChangeLog

    r16e8d3d rbfa0476  
     12007-05-23      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * user/conf.t: Add CONFIGURE_MESSAGE_BUFFER_MEMORY. Use
     4        rtems/confdefs.h instead of old confdefs.h.
     5
    162007-05-22      Joel Sherrill <joel.sherrill@OARcorp.com>
    27
  • doc/user/conf.t

    r16e8d3d rbfa0476  
    4646@findex confdefs.h
    4747
    48 RTEMS provides the @code{confdefs.h} C language header file that
     48RTEMS provides the @code{rtems/confdefs.h} C language header file that
    4949based on the setting of a variety of macros can automatically
    5050produce nearly all of the configuration tables required
     
    7474For each configuration parameter in the configuration tables, the
    7575macro corresponding to that field is discussed.  Most systems
    76 can be easily configured using the @code{confdefs.h} mechanism.
     76can be easily configured using the @code{rtems/confdefs.h} mechanism.
    7777
    7878The @code{CONFIGURE_INIT} constant must be defined in order to
    79 make @code{confdefs.h} instantiate the configuration data
     79make @code{rtems/confdefs.h} instantiate the configuration data
    8080structures.  This can only be defined in one source file per
    81 application that includes @code{confdefs.h} or the symbol
     81application that includes @code{rtems/confdefs.h} or the symbol
    8282table will be instantiated multiple times and linking errors
    8383produced.
     
    8585The user should be aware that the defaults are intentionally
    8686set as low as possible.  By default, no application resources
    87 are configured.  The @code{confdefs.h} file ensures that
     87are configured.  The @code{rtems/confdefs.h} file ensures that
    8888at least one application tasks or thread is configured
    8989and that at least one of the initialization task/thread
    9090tables is configured.
    9191
    92 The @code{confdefs.h} file estimates the amount of
     92The @code{rtems/confdefs.h} file estimates the amount of
    9393memory required for the RTEMS Executive Workspace.  This
    9494estimate is only as accurate as the information given
    95 to @code{confdefs.h} and may be either too high or too
     95to @code{rtems/confdefs.h} and may be either too high or too
    9696low for a variety of reasons.  Some of the reasons that
    97 @code{confdefs.h} may reserve too much memory for RTEMS
     97@code{rtems/confdefs.h} may reserve too much memory for RTEMS
    9898are:
    9999
     
    119119@end itemize
    120120
    121 In general, @code{confdefs.h} is very accurate when given
     121In general, @code{rtems/confdefs.h} is very accurate when given
    122122enough information.  However, it is quite easy to use
    123123a library and not account for its resources.
     
    130130This section defines the file system and IO library
    131131related configuration parameters supported by
    132 @code{confdefs.h}.
     132@code{rtems/confdefs.h}.
    133133
    134134@itemize @bullet
     
    186186
    187187This section defines the general system configuration parameters supported by
    188 @code{confdefs.h}.
     188@code{rtems/confdefs.h}.
    189189
    190190@itemize @bullet
     
    22022050.
    221221
     222@findex CONFIGURE_MESSAGE_BUFFER_MEMORY
     223@item @code{CONFIGURE_MESSAGE_BUFFER_MEMORY} is set to the number of
     224bytes the application requires to be reserved for pending message queue
     225buffers.  This value should include memory for all buffers across
     226all APIs.  The default value is 0.
     227
    222228@findex CONFIGURE_MEMORY_OVERHEAD
    223229@item @code{CONFIGURE_MEMORY_OVERHEAD} is set to the number of
    224 kilobytes the applications wishes to add to the requirements calculated
    225 by @code{confdefs.h}.  The default value is 0.
     230kilobytes the application wishes to add to the requirements calculated
     231by @code{rtems/confdefs.h}.  The default value is 0.
    226232
    227233@findex CONFIGURE_EXTRA_TASK_STACKS
    228234@item @code{CONFIGURE_EXTRA_TASK_STACKS} is set to the number of
    229235bytes the applications wishes to add to the task stack requirements
    230 calculated by @code{confdefs.h}.  This parameter is very important.
     236calculated by @code{rtems/confdefs.h}.  This parameter is very important.
    231237If the application creates tasks with stacks larger then the
    232 minimum, then that memory is NOT accounted for by @code{confdefs.h}.
     238minimum, then that memory is NOT accounted for by @code{rtems/confdefs.h}.
    233239The default value is 0.
    234240
     
    236242
    237243NOTE: The required size of the Executive RAM Work Area is calculated
    238 automatically when using the @code{confdefs.h} mechanism.
     244automatically when using the @code{rtems/confdefs.h} mechanism.
    239245
    240246@subsection Device Driver Table
     
    242248This section defines the configuration parameters related
    243249to the automatic generation of a Device Driver Table.  As
    244 @code{confdefs.h} only is aware of a small set of
     250@code{rtems/confdefs.h} only is aware of a small set of
    245251standard device drivers, the generated Device Driver
    246252Table is suitable for simple applications with no
     
    253259The table generated is an array of @code{rtems_driver_address_table}
    254260entries named @code{Device_drivers}.  By default, this is not
    255 defined indicating the @code{confdefs.h} is providing the
     261defined indicating the @code{rtems/confdefs.h} is providing the
    256262device driver table.
    257263
     
    306312
    307313This section defines the multiprocessing related
    308 system configuration parameters supported by @code{confdefs.h}.
     314system configuration parameters supported by @code{rtems/confdefs.h}.
    309315This class of Configuration Constants are only applicable if
    310316@code{CONFIGURE_MP_APPLICATION} is defined.
     
    347353
    348354This section defines the Classic API related
    349 system configuration parameters supported by @code{confdefs.h}.
     355system configuration parameters supported by @code{rtems/confdefs.h}.
    350356
    351357@itemize @bullet
     
    399405@subsection Classic API Initialization Tasks Table Configuration
    400406
    401 The @code{confdefs.h} configuration system can automatically
     407The @code{rtems/confdefs.h} configuration system can automatically
    402408generate an Initialization Tasks Table named
    403409@code{Initialization_tasks} with a single entry.  The following
     
    522528@subsection POSIX Initialization Threads Table Configuration
    523529
    524 The @code{confdefs.h} configuration system can automatically
     530The @code{rtems/confdefs.h} configuration system can automatically
    525531generate a POSIX Initialization Threads Table named
    526532@code{POSIX_Initialization_threads} with a single entry.  The following
     
    617623@subsection ITRON Initialization Task Table Configuration
    618624
    619 The @code{confdefs.h} configuration system can automatically
     625The @code{rtems/confdefs.h} configuration system can automatically
    620626generate an ITRON Initialization Tasks Table named
    621627@code{ITRON_Initialization_tasks} with a single entry.  The following
     
    670676
    671677This section defines the system configuration parameters supported
    672 by @code{confdefs.h} related to configuring RTEMS to support
     678by @code{rtems/confdefs.h} related to configuring RTEMS to support
    673679a task using Ada tasking with GNAT.
    674680
     
    678684RTEMS that the GNAT Ada run-time is to be used by the
    679685application.  This configuration parameter is critical
    680 as it makes @code{confdefs.h} configure the resources
     686as it makes @code{rtems/confdefs.h} configure the resources
    681687(mutexes and keys) used implicitly by the GNAT run-time.
    682688By default, this parameter is not defined.
     
    770776RTEMS will invoke the fatal error handler during
    771777@code{@value{DIRPREFIX}initialize_executive}.
    772 When using the @code{confdefs.h} mechanism for configuring
     778When using the @code{rtems/confdefs.h} mechanism for configuring
    773779an RTEMS application, the value for this field corresponds
    774780to the setting of the macro @code{CONFIGURE_EXECUTIVE_RAM_WORK_AREA}
     
    781787RTEMS RAM Workspace.  The section Sizing the RTEMS RAM Workspace
    782788details how to arrive at this number.
    783 When using the @code{confdefs.h} mechanism for configuring
     789When using the @code{rtems/confdefs.h} mechanism for configuring
    784790an RTEMS application, the value for this field corresponds
    785791to the setting of the macro @code{CONFIGURE_EXECUTIVE_RAM_SIZE}
     
    788794@item microseconds_per_tick
    789795is number of microseconds per clock tick.
    790 When using the @code{confdefs.h} mechanism for configuring
     796When using the @code{rtems/confdefs.h} mechanism for configuring
    791797an RTEMS application, the value for this field corresponds
    792798to the setting of the macro @code{CONFIGURE_MICROSECONDS_PER_TICK}.
     
    797803@item ticks_per_timeslice
    798804is the number of clock ticks for a timeslice.
    799 When using the @code{confdefs.h} mechanism for configuring
     805When using the @code{rtems/confdefs.h} mechanism for configuring
    800806an RTEMS application, the value for this field corresponds
    801807to the setting of the macro @code{CONFIGURE_TICKS_PER_TIMESLICE}.
     
    803809@item maximum_devices
    804810is the maximum number of devices that can be registered.
    805 When using the @code{confdefs.h} mechanism for configuring
     811When using the @code{rtems/confdefs.h} mechanism for configuring
    806812an RTEMS application, the value for this field corresponds
    807813to the setting of the macro @code{CONFIGURE_MAXIMUM_DEVICES}.
     
    809815@item maximum_drivers
    810816is the maximum number of device drivers that can be registered.
    811 When using the @code{confdefs.h} mechanism for configuring
     817When using the @code{rtems/confdefs.h} mechanism for configuring
    812818an RTEMS application, the value for this field corresponds
    813819to the setting of the macro @code{CONFIGURE_MAXIMUM_DRIVERS}.
     
    819825the same number of entries in the Device Driver Table.  If this field
    820826is zero, then the @code{User_driver_address_table} entry should be NULL.
    821 When using the @code{confdefs.h} mechanism for configuring
     827When using the @code{rtems/confdefs.h} mechanism for configuring
    822828an RTEMS application, the value for this field is calculated
    823829automatically based on the number of entries in the
     
    846852then this entry should be NULL. The format of this table will be
    847853discussed below.
    848 When using the @code{confdefs.h} mechanism for configuring
     854When using the @code{rtems/confdefs.h} mechanism for configuring
    849855an RTEMS application, the Device Driver Table is assumed to be
    850856named @code{Device_drivers} and defined in C.  If the application is providing
    851857its own Device Driver Table, then the macro
    852858@code{CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE} must be defined to indicate
    853 this and prevent @code{confdefs.h} from generating the table.
     859this and prevent @code{rtems/confdefs.h} from generating the table.
    854860
    855861@item number_of_initial_extensions
     
    857863the same number of entries as in the User_extension_table.  If this field
    858864is zero, then the User_driver_address_table entry should be NULL.
    859 When using the @code{confdefs.h} mechanism for configuring
     865When using the @code{rtems/confdefs.h} mechanism for configuring
    860866an RTEMS application, the value for this field corresponds
    861867to the setting of the macro @code{CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS}
    862 which is set automatically by @code{confdefs.h} based on the size
     868which is set automatically by @code{rtems/confdefs.h} based on the size
    863869of the User Extensions Table.
    864870
     
    869875are configured, then this entry should be NULL.  The format of
    870876this table will be discussed below.
    871 When using the @code{confdefs.h} mechanism for configuring
     877When using the @code{rtems/confdefs.h} mechanism for configuring
    872878an RTEMS application, the User Extensions Table is named
    873879@code{Configuration_Initial_Extensions} and defined in
     
    893899configuration.  This field must be NULL when RTEMS is used in a
    894900single processor configuration.
    895 When using the @code{confdefs.h} mechanism for configuring
     901When using the @code{rtems/confdefs.h} mechanism for configuring
    896902an RTEMS application, the Multiprocessor Configuration Table
    897903is automatically generated when the @code{CONFIGURE_MP_APPLICATION}
     
    906912is required to support support components such as BSPs and libraries
    907913which use this API.]  This table is built automatically and this
    908 entry filled in, if using the @code{confdefs.h} application
     914entry filled in, if using the @code{rtems/confdefs.h} application
    909915configuration mechanism.  The generated table has the name
    910916@code{Configuration_RTEMS_API}.
     
    914920contains information needed by the POSIX API.  This field should be
    915921NULL if the POSIX API is not used.  This table is built automatically
    916 and this entry filled in, if using the @code{confdefs.h} application
    917 configuration mechanism.  The @code{confdefs.h} application
     922and this entry filled in, if using the @code{rtems/confdefs.h} application
     923configuration mechanism.  The @code{rtems/confdefs.h} application
    918924mechanism will fill this field in with the address of the
    919925@code{Configuration_POSIX_API} table of POSIX API is configured
     
    979985can be concurrently active (created) in the system including
    980986initialization tasks.
    981 When using the @code{confdefs.h} mechanism for configuring
     987When using the @code{rtems/confdefs.h} mechanism for configuring
    982988an RTEMS application, the value for this field corresponds
    983989to the setting of the macro @code{CONFIGURE_MAXIMUM_TASKS}.
     
    988994is the maximum number of timers
    989995that can be concurrently active in the system.
    990 When using the @code{confdefs.h} mechanism for configuring
     996When using the @code{rtems/confdefs.h} mechanism for configuring
    991997an RTEMS application, the value for this field corresponds
    992998to the setting of the macro @code{CONFIGURE_MAXIMUM_TIMERS}.
     
    9971003is the maximum number of
    9981004semaphores that can be concurrently active in the system.
    999 When using the @code{confdefs.h} mechanism for configuring
     1005When using the @code{rtems/confdefs.h} mechanism for configuring
    10001006an RTEMS application, the value for this field corresponds
    10011007to the setting of the macro @code{CONFIGURE_MAXIMUM_SEMAPHORES}.
     
    10061012is the maximum number of
    10071013message queues that can be concurrently active in the system.
    1008 When using the @code{confdefs.h} mechanism for configuring
     1014When using the @code{rtems/confdefs.h} mechanism for configuring
    10091015an RTEMS application, the value for this field corresponds
    10101016to the setting of the macro @code{CONFIGURE_MAXIMUM_MESSAGE_QUEUES}.
     
    10151021is the maximum number of
    10161022partitions that can be concurrently active in the system.
    1017 When using the @code{confdefs.h} mechanism for configuring
     1023When using the @code{rtems/confdefs.h} mechanism for configuring
    10181024an RTEMS application, the value for this field corresponds
    10191025to the setting of the macro @code{CONFIGURE_MAXIMUM_PARTITIONS}.
     
    10241030is the maximum number of regions
    10251031that can be concurrently active in the system.
    1026 When using the @code{confdefs.h} mechanism for configuring
     1032When using the @code{rtems/confdefs.h} mechanism for configuring
    10271033an RTEMS application, the value for this field corresponds
    10281034to the setting of the macro @code{CONFIGURE_MAXIMUM_REGIONS}.
     
    10341040dual-port memory areas that can be concurrently active in the
    10351041system.
    1036 When using the @code{confdefs.h} mechanism for configuring
     1042When using the @code{rtems/confdefs.h} mechanism for configuring
    10371043an RTEMS application, the value for this field corresponds
    10381044to the setting of the macro @code{CONFIGURE_MAXIMUM_PORTS}.
     
    10441050RTEMS initialization task or POSIX initializatin must be configured
    10451051in order for the user's application to begin executing.
    1046 When using the @code{confdefs.h} mechanism for configuring
     1052When using the @code{rtems/confdefs.h} mechanism for configuring
    10471053an RTEMS application, the user must define the
    10481054@code{CONFIGURE_RTEMS_INIT_TASKS_TABLE} to indicate that there
     
    10951101information needed to create and start each of the
    10961102initialization tasks.  The format of this table will be discussed below.
    1097 When using the @code{confdefs.h} mechanism for configuring
     1103When using the @code{rtems/confdefs.h} mechanism for configuring
    10981104an RTEMS application, the value for this field corresponds
    10991105to the setting of the macro @code{CONFIGURE_EXECUTIVE_RAM_WORK_AREA}.
     
    11791185can be concurrently active (created) in the system including
    11801186initialization threads.
    1181 When using the @code{confdefs.h} mechanism for configuring
     1187When using the @code{rtems/confdefs.h} mechanism for configuring
    11821188an RTEMS application, the value for this field corresponds
    11831189to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_THREADS}.
     
    11881194is the maximum number of mutexes that can be concurrently
    11891195active in the system.
    1190 When using the @code{confdefs.h} mechanism for configuring
     1196When using the @code{rtems/confdefs.h} mechanism for configuring
    11911197an RTEMS application, the value for this field corresponds
    11921198to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_MUTEXES}.
     
    11971203is the maximum number of condition variables that can be
    11981204concurrently active in the system.
    1199 When using the @code{confdefs.h} mechanism for configuring
     1205When using the @code{rtems/confdefs.h} mechanism for configuring
    12001206an RTEMS application, the value for this field corresponds
    12011207to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES}.
     
    12051211@item maximum_keys
    12061212is the maximum number of keys that can be concurrently active in the system.
    1207 When using the @code{confdefs.h} mechanism for configuring
     1213When using the @code{rtems/confdefs.h} mechanism for configuring
    12081214an RTEMS application, the value for this field corresponds
    12091215to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_KEYS}.
     
    12141220is the maximum number of POSIX timers that can be concurrently active
    12151221in the system.
    1216 When using the @code{confdefs.h} mechanism for configuring
     1222When using the @code{rtems/confdefs.h} mechanism for configuring
    12171223an RTEMS application, the value for this field corresponds
    12181224to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_TIMERS}.
     
    12231229is the maximum number of queued signals that can be concurrently
    12241230pending in the system.
    1225 When using the @code{confdefs.h} mechanism for configuring
     1231When using the @code{rtems/confdefs.h} mechanism for configuring
    12261232an RTEMS application, the value for this field corresponds
    12271233to the setting of the macro @code{CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS}.
     
    12321238is the number of initialization threads configured.  At least one
    12331239initialization threads must be configured.
    1234 When using the @code{confdefs.h} mechanism for configuring
     1240When using the @code{rtems/confdefs.h} mechanism for configuring
    12351241an RTEMS application, the user must define the
    12361242@code{CONFIGURE_POSIX_INIT_THREAD_TABLE} to indicate that there
     
    12581264The format of each entry in this table is defined in the
    12591265@code{posix_initialization_threads_table} @value{STRUCTURE}.
    1260 When using the @code{confdefs.h} mechanism for configuring
     1266When using the @code{rtems/confdefs.h} mechanism for configuring
    12611267an RTEMS application, the value for this field corresponds
    12621268to the address of the @code{POSIX_Initialization_threads} structure.
     
    12761282target processor.
    12771283
    1278 The @code{confdefs.h} mechanism does not support generating this
     1284The @code{rtems/confdefs.h} mechanism does not support generating this
    12791285table.  It is normally filled in by the Board Support Package.
    12801286
     
    16901696
    16911697
    1692 When using the @code{confdefs.h} mechanism for configuring
     1698When using the @code{rtems/confdefs.h} mechanism for configuring
    16931699an RTEMS application, the macro @code{CONFIGURE_MP_APPLICATION} must
    16941700be defined to automatically generate the Multiprocessor Configuration Table.
     
    17391745represent broadcasted packets.  Thus, it is recommended that
    17401746node numbers start at one and increase sequentially.
    1741 When using the @code{confdefs.h} mechanism for configuring
     1747When using the @code{rtems/confdefs.h} mechanism for configuring
    17421748an RTEMS application, the value for this field corresponds
    17431749to the setting of the macro @code{CONFIGURE_MP_NODE_NUMBER}.
     
    17491755@item maximum_nodes
    17501756is the number of processor nodes in the system.
    1751 When using the @code{confdefs.h} mechanism for configuring
     1757When using the @code{rtems/confdefs.h} mechanism for configuring
    17521758an RTEMS application, the value for this field corresponds
    17531759to the setting of the macro @code{CONFIGURE_MP_MAXIMUM_NODES}.
     
    17601766same on all nodes in the system, then a fatal error is generated
    17611767to inform the user that the system is inconsistent.
    1762 When using the @code{confdefs.h} mechanism for configuring
     1768When using the @code{rtems/confdefs.h} mechanism for configuring
    17631769an RTEMS application, the value for this field corresponds
    17641770to the setting of the macro @code{CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS}.
     
    17731779on a remote object.  Proxies are used in situations in which delayed
    17741780interaction is required with a remote node.
    1775 When using the @code{confdefs.h} mechanism for configuring
     1781When using the @code{rtems/confdefs.h} mechanism for configuring
    17761782an RTEMS application, the value for this field corresponds
    17771783to the setting of the macro @code{CONFIGURE_MP_MAXIMUM_PROXIES}.
     
    17871793entries configured.  The format of this table and details
    17881794regarding its entries can be found in the next section.
    1789 When using the @code{confdefs.h} mechanism for configuring
     1795When using the @code{rtems/confdefs.h} mechanism for configuring
    17901796an RTEMS application, the value for this field corresponds
    17911797to the setting of the macro @code{CONFIGURE_MP_MPCI_TABLE_POINTER}.
     
    18041810an Multiprocessor Communications Interface implementation. 
    18051811
    1806 When using the @code{confdefs.h} mechanism for configuring
     1812When using the @code{rtems/confdefs.h} mechanism for configuring
    18071813an RTEMS application, the name of this table is assumed
    18081814to be @code{MPCI_table} unless the application sets
     
    19511957the RTEMS RAM Workspace.
    19521958
    1953 The @code{confdefs.h} mechanism calcalutes the size
     1959The @code{rtems/confdefs.h} mechanism calcalutes the size
    19541960of the RTEMS RAM Workspace automatically.  It assumes that
    19551961all tasks are floating point and that all will be allocated
Note: See TracChangeset for help on using the changeset viewer.