Changeset ac9d49d in rtems-docs


Ignore:
Timestamp:
Mar 9, 2020, 7:43:05 AM (4 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5, master
Children:
bf995cf
Parents:
a526872
git-author:
Sebastian Huber <sebastian.huber@…> (03/09/20 07:43:05)
git-committer:
Sebastian Huber <sebastian.huber@…> (03/12/20 09:15:04)
Message:

c-user: Move "General System Configuration"

Update #3836.

Location:
c-user/config
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • c-user/config/index.rst

    ra526872 rac9d49d  
    1313
    1414    intro
    15 
    16 General System Configuration
    17 ============================
    18 
    19 This section defines the general system configuration options supported by
    20 ``<rtems/confdefs.h>``.
    21 
    22 .. index:: CONFIGURE_DIRTY_MEMORY
    23 
    24 .. _CONFIGURE_DIRTY_MEMORY:
    25 
    26 CONFIGURE_DIRTY_MEMORY
    27 ----------------------
    28 
    29 CONSTANT:
    30     ``CONFIGURE_DIRTY_MEMORY``
    31 
    32 DATA TYPE:
    33     Boolean feature macro.
    34 
    35 RANGE:
    36     Defined or undefined.
    37 
    38 DEFAULT VALUE:
    39     By default, the memory used by the RTEMS Workspace and the C Program Heap
    40     is uninitialized memory.
    41 
    42 DESCRIPTION:
    43     This macro indicates whether RTEMS should dirty the memory used by the
    44     RTEMS Workspace and the C Program Heap as part of its initialization.  If
    45     defined, the memory areas are dirtied with a ``0xCF`` byte pattern.
    46     Otherwise, they are not.
    47 
    48 NOTES:
    49     Dirtying memory can add significantly to system boot time.  It may assist in
    50     finding code that incorrectly assumes the contents of free memory areas is
    51     cleared to zero during system initialization.  In case
    52     :ref:`CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY` is also defined, then the
    53     memory is first dirtied and then zeroed.
    54 
    55 .. index:: CONFIGURE_EXTRA_TASK_STACKS
    56 .. index:: memory for task tasks
    57 
    58 .. _CONFIGURE_EXTRA_TASK_STACKS:
    59 
    60 CONFIGURE_EXTRA_TASK_STACKS
    61 ---------------------------
    62 
    63 CONSTANT:
    64     ``CONFIGURE_EXTRA_TASK_STACKS``
    65 
    66 DATA TYPE:
    67     Unsigned integer (``size_t``).
    68 
    69 RANGE:
    70     Undefined or positive.
    71 
    72 DEFAULT VALUE:
    73     The default value is 0.
    74 
    75 DESCRIPTION:
    76     This configuration parameter is set to the number of bytes the applications
    77     wishes to add to the task stack requirements calculated by
    78     ``<rtems/confdefs.h>``.
    79 
    80 NOTES:
    81     This parameter is very important.  If the application creates tasks with
    82     stacks larger then the minimum, then that memory is NOT accounted for by
    83     ``<rtems/confdefs.h>``.
    84 
    85 .. index:: CONFIGURE_INITIAL_EXTENSIONS
    86 
    87 .. _CONFIGURE_INITIAL_EXTENSIONS:
    88 
    89 CONFIGURE_INITIAL_EXTENSIONS
    90 ----------------------------
    91 
    92 CONSTANT:
    93     ``CONFIGURE_INITIAL_EXTENSIONS``
    94 
    95 DATA TYPE:
    96     List of user extension initializers (``rtems_extensions_table``).
    97 
    98 RANGE:
    99     Undefined or a list of one or more user extensions.
    100 
    101 DEFAULT VALUE:
    102     This is not defined by default.
    103 
    104 DESCRIPTION:
    105     If ``CONFIGURE_INITIAL_EXTENSIONS`` is defined by the application, then
    106     this application specific set of initial extensions will be placed in the
    107     initial extension table.
    108 
    109 NOTES:
    110     None.
    111 
    112 .. index:: CONFIGURE_INTERRUPT_STACK_SIZE
    113 .. index:: interrupt stack size
    114 
    115 .. _CONFIGURE_INTERRUPT_STACK_SIZE:
    116 
    117 CONFIGURE_INTERRUPT_STACK_SIZE
    118 ------------------------------
    119 
    120 CONSTANT:
    121     ``CONFIGURE_INTERRUPT_STACK_SIZE``
    122 
    123 DATA TYPE:
    124     Unsigned integer.
    125 
    126 RANGE:
    127     Positive.
    128 
    129 DEFAULT VALUE:
    130     The default value is ``BSP_INTERRUPT_STACK_SIZE`` in case it is defined,
    131     otherwise the default value is ``CPU_STACK_MINIMUM_SIZE``.
    132 
    133 DESCRIPTION:
    134     The ``CONFIGURE_INTERRUPT_STACK_SIZE`` configuration option defines the
    135     size of an interrupt stack in bytes.
    136 
    137 NOTES:
    138     The interrupt stack size must be aligned according to
    139     ``CPU_INTERRUPT_STACK_ALIGNMENT``.
    140 
    141     There is one interrupt stack available for each configured processor
    142     (:ref:`CONFIGURE_MAXIMUM_PROCESSORS <CONFIGURE_MAXIMUM_PROCESSORS>`).  The
    143     interrupt stack areas are statically allocated in a special linker section
    144     (``.rtemsstack.interrupt``).  The placement of this linker section is
    145     BSP-specific.
    146 
    147     Some BSPs use the interrupt stack as the initialization stack which is used
    148     to perform the sequential system initialization before the multithreading
    149     is started.
    150 
    151     The interrupt stacks are covered by the :ref:`stack checker
    152     <CONFIGURE_STACK_CHECKER_ENABLED>`.  However, using a too small interrupt
    153     stack size may still result in undefined behaviour.
    154 
    155     In releases before RTEMS 5.1 the default value was
    156     :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE
    157     <CONFIGURE_MINIMUM_TASK_STACK_SIZE>` instead of ``CPU_STACK_MINIMUM_SIZE``.
    158 
    159 .. index:: CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
    160 .. index:: maximum file descriptors
    161 
    162 .. _CONFIGURE_MAXIMUM_FILE_DESCRIPTORS:
    163 
    164 CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
    165 ----------------------------------
    166 
    167 CONSTANT:
    168     ``CONFIGURE_MAXIMUM_FILE_DESCRIPTORS``
    169 
    170 DATA TYPE:
    171     Unsigned integer (``uint32_t``).
    172 
    173 RANGE:
    174     Zero or positive.
    175 
    176 DEFAULT VALUE:
    177     If ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`` is defined, then the
    178     default value is 3, otherwise the default value is 0.  Three file
    179     descriptors allows RTEMS to support standard input, output, and error I/O
    180     streams on ``/dev/console``.
    181 
    182 DESCRIPTION:
    183     This configuration parameter is set to the maximum number of file like
    184     objects that can be concurrently open.
    185 
    186 NOTES:
    187     None.
    188 
    189 .. index:: CONFIGURE_MAXIMUM_PRIORITY
    190 .. index:: maximum priority
    191 .. index:: number of priority levels
    192 
    193 .. _CONFIGURE_MAXIMUM_PRIORITY:
    194 
    195 CONFIGURE_MAXIMUM_PRIORITY
    196 --------------------------
    197 
    198 CONSTANT:
    199     ``CONFIGURE_MAXIMUM_PRIORITY``
    200 
    201 DATA TYPE:
    202     Unsigned integer (``uint8_t``).
    203 
    204 RANGE:
    205     Valid values for this configuration parameter must be one (1) less than
    206     than a power of two (2) between 4 and 256 inclusively.  In other words,
    207     valid values are 3, 7, 31, 63, 127, and 255.
    208 
    209 DEFAULT VALUE:
    210     The default value is 255, because RTEMS must support 256 priority levels to
    211     be compliant with various standards. These priorities range from zero (0)
    212     to 255.
    213 
    214 DESCRIPTION:
    215    For the schedulers
    216 
    217    * :ref:`SchedulerPriority`, which is the default in uniprocessor
    218      configurations and can be configured through the
    219      :ref:`CONFIGURE_SCHEDULER_PRIORITY` configuration option,
    220 
    221    * :ref:`SchedulerSMPPriority` which can be configured through the
    222      :ref:`CONFIGURE_SCHEDULER_PRIORITY_SMP` configuration option, and
    223 
    224    * :ref:`SchedulerSMPPriorityAffinity` which can be configured through the
    225      :ref:`CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP` configuration option
    226 
    227    this configuration option specifies the maximum numeric priority of any task
    228    for these schedulers and one less that the number of priority levels for
    229    these schedulers.  For all other schedulers provided by RTEMS, this
    230    configuration option has no effect.
    231 
    232 NOTES:
    233    The numerically greatest priority is the logically lowest priority in the
    234    system and will thus be used by the IDLE task.
    235 
    236    Priority zero (0) is reserved for internal use by RTEMS and is not available
    237    to applications.
    238 
    239    Reducing the number of priorities through this configuration option reduces
    240    the amount of memory allocated by the schedulers listed above.  These
    241    schedulers use a chain control structure per priority and this structure
    242    consists of three pointers.  On a 32-bit architecture, the allocated memory
    243    is 12 bytes * (``CONFIGURE_MAXIMUM_PRIORITY`` + 1), e.g. 3072 bytes for 256
    244    priority levels (default), 48 bytes for 4 priority levels
    245    (``CONFIGURE_MAXIMUM_PRIORITY == 3``).
    246 
    247 .. index:: CONFIGURE_MAXIMUM_PROCESSORS
    248 
    249 .. _CONFIGURE_MAXIMUM_PROCESSORS:
    250 
    251 CONFIGURE_MAXIMUM_PROCESSORS
    252 ----------------------------
    253 
    254 CONSTANT:
    255     ``CONFIGURE_MAXIMUM_PROCESSORS``
    256 
    257 DATA TYPE:
    258     Unsigned integer (``uint32_t``).
    259 
    260 RANGE:
    261     Positive.
    262 
    263 DEFAULT VALUE:
    264     The default value is 1.
    265 
    266 DESCRIPTION:
    267     ``CONFIGURE_MAXIMUM_PROCESSORS`` must be set to the maximum number of
    268     processors an application intends to use.  The number of actually available
    269     processors depends on the hardware and may be less.  It is recommended to
    270     use the smallest value suitable for the application in order to save
    271     memory.  Each processor needs an idle thread and interrupt stack for
    272     example.
    273 
    274 NOTES:
    275     If there are more processors available than configured, the rest will be
    276     ignored.  This configuration define is ignored in uniprocessor
    277     configurations.
    278 
    279 .. index:: CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
    280 .. index:: maximum thread name size
    281 
    282 .. _CONFIGURE_MAXIMUM_THREAD_NAME_SIZE:
    283 
    284 CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
    285 ----------------------------------
    286 
    287 CONSTANT:
    288     ``CONFIGURE_MAXIMUM_THREAD_NAME_SIZE``
    289 
    290 DATA TYPE:
    291     Unsigned integer (``size_t``).
    292 
    293 RANGE:
    294     No restrictions.
    295 
    296 DEFAULT VALUE:
    297     The default value is 16.  This value was chosen for Linux compatibility,
    298     see
    299     `PTHREAD_SETNAME_NP(3) <http://man7.org/linux/man-pages/man3/pthread_setname_np.3.html>`_.
    300 
    301 DESCRIPTION:
    302    This configuration parameter specifies the maximum thread name size
    303    including the terminating `NUL` character.
    304 
    305 NOTE:
    306    The size of the thread control block is increased by the maximum thread name
    307    size.  This configuration option is available since RTEMS 5.1.
    308 
    309 .. index:: CONFIGURE_MEMORY_OVERHEAD
    310 
    311 .. _CONFIGURE_MEMORY_OVERHEAD:
    312 
    313 CONFIGURE_MEMORY_OVERHEAD
    314 -------------------------
    315 
    316 CONSTANT:
    317     ``CONFIGURE_MEMORY_OVERHEAD``
    318 
    319 DATA TYPE:
    320     Unsigned integer (``size_t``).
    321 
    322 RANGE:
    323     Zero or positive.
    324 
    325 DEFAULT VALUE:
    326     The default value is 0.
    327 
    328 DESCRIPTION:
    329     This parameter is set to the number of kilobytes the application wishes to
    330     add to the requirements calculated by ``<rtems/confdefs.h>``.
    331 
    332 NOTES:
    333     This configuration parameter should only be used when it is suspected that
    334     a bug in ``<rtems/confdefs.h>`` has resulted in an underestimation.
    335     Typically the memory allocation will be too low when an application does
    336     not account for all message queue buffers or task stacks.
    337 
    338 .. index:: CONFIGURE_MICROSECONDS_PER_TICK
    339 .. index:: tick quantum
    340 
    341 .. _CONFIGURE_MICROSECONDS_PER_TICK:
    342 
    343 CONFIGURE_MICROSECONDS_PER_TICK
    344 -------------------------------
    345 
    346 CONSTANT:
    347     ``CONFIGURE_MICROSECONDS_PER_TICK``
    348 
    349 DATA TYPE:
    350     Unsigned integer (``uint32_t``).
    351 
    352 RANGE:
    353     Positive.
    354 
    355 DEFAULT VALUE:
    356     This is not defined by default. When not defined, the clock tick quantum is
    357     configured to be 10,000 microseconds which is ten (10) milliseconds.
    358 
    359 DESCRIPTION:
    360     This constant is  used to specify the length of time between clock ticks.
    361 
    362     When the clock tick quantum value is too low, the system will spend so much
    363     time processing clock ticks that it does not have processing time available
    364     to perform application work. In this case, the system will become
    365     unresponsive.
    366 
    367     The lowest practical time quantum varies widely based upon the speed of the
    368     target hardware and the architectural overhead associated with
    369     interrupts. In general terms, you do not want to configure it lower than is
    370     needed for the application.
    371 
    372     The clock tick quantum should be selected such that it all blocking and
    373     delay times in the application are evenly divisible by it. Otherwise,
    374     rounding errors will be introduced which may negatively impact the
    375     application.
    376 
    377 NOTES:
    378     This configuration parameter has no impact if the Clock Tick Device driver
    379     is not configured.
    380 
    381     There may be BSP specific limits on the resolution or maximum value of a
    382     clock tick quantum.
    383 
    384 .. index:: CONFIGURE_MINIMUM_TASK_STACK_SIZE
    385 .. index:: minimum task stack size
    386 
    387 .. _CONFIGURE_MINIMUM_TASK_STACK_SIZE:
    388 
    389 CONFIGURE_MINIMUM_TASK_STACK_SIZE
    390 ---------------------------------
    391 
    392 CONSTANT:
    393     ``CONFIGURE_MINIMUM_TASK_STACK_SIZE``
    394 
    395 DATA TYPE:
    396     Unsigned integer (``uint32_t``).
    397 
    398 RANGE:
    399     Positive.
    400 
    401 DEFAULT VALUE:
    402     The default value is architecture-specific.
    403 
    404 DESCRIPTION:
    405     This configuration parameter defines the minimum stack size in bytes for
    406     every user task or thread in the system.
    407 
    408 NOTES:
    409     Adjusting this parameter should be done with caution.  Examining the actual
    410     stack usage using the stack checker usage reporting facility is recommended
    411     (see also :ref:`CONFIGURE_STACK_CHECKER_ENABLED <CONFIGURE_STACK_CHECKER_ENABLED>`).
    412 
    413     This parameter can be used to lower the minimum from that recommended. This
    414     can be used in low memory systems to reduce memory consumption for
    415     stacks. However, this must be done with caution as it could increase the
    416     possibility of a blown task stack.
    417 
    418     This parameter can be used to increase the minimum from that
    419     recommended. This can be used in higher memory systems to reduce the risk
    420     of stack overflow without performing analysis on actual consumption.
    421 
    422     By default, this configuration parameter defines also the minimum stack
    423     size of POSIX threads.  This can be changed with the
    424     :ref:`CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE <CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE>`
    425     configuration option.
    426 
    427     In releases before RTEMS 5.1 the ``CONFIGURE_MINIMUM_TASK_STACK_SIZE`` was
    428     used to define the default value of :ref:`CONFIGURE_INTERRUPT_STACK_SIZE
    429     <CONFIGURE_INTERRUPT_STACK_SIZE>`.
    430 
    431 .. index:: CONFIGURE_STACK_CHECKER_ENABLED
    432 
    433 .. _CONFIGURE_STACK_CHECKER_ENABLED:
    434 
    435 CONFIGURE_STACK_CHECKER_ENABLED
    436 -------------------------------
    437 
    438 CONSTANT:
    439     ``CONFIGURE_STACK_CHECKER_ENABLED``
    440 
    441 DATA TYPE:
    442     Boolean feature macro.
    443 
    444 RANGE:
    445     Defined or undefined.
    446 
    447 DEFAULT VALUE:
    448     This is not defined by default, and thus stack checking is disabled.
    449 
    450 DESCRIPTION:
    451     This configuration parameter is defined when the application wishes to
    452     enable run-time stack bounds checking.
    453 
    454 NOTES:
    455     In 4.9 and older, this configuration parameter was named ``STACK_CHECKER_ON``.
    456 
    457     This increases the time required to create tasks as well as adding overhead
    458     to each context switch.
    459 
    460 .. index:: CONFIGURE_TICKS_PER_TIMESLICE
    461 .. index:: ticks per timeslice
    462 
    463 .. _CONFIGURE_TICKS_PER_TIMESLICE:
    464 
    465 CONFIGURE_TICKS_PER_TIMESLICE
    466 -----------------------------
    467 
    468 CONSTANT:
    469     ``CONFIGURE_TICKS_PER_TIMESLICE``
    470 
    471 DATA TYPE:
    472     Unsigned integer (``uint32_t``).
    473 
    474 RANGE:
    475     Positive.
    476 
    477 DEFAULT VALUE:
    478     The default value is 50.
    479 
    480 DESCRIPTION:
    481     This configuration parameter specifies the length of the timeslice quantum
    482     in ticks for each task.
    483 
    484 NOTES:
    485     This configuration parameter has no impact if the Clock Tick Device driver
    486     is not configured.
    487 
    488 .. index:: CONFIGURE_UNIFIED_WORK_AREAS
    489 .. index:: unified work areas
    490 .. index:: separate work areas
    491 .. index:: RTEMS Workspace
    492 .. index:: C Program Heap
    493 
    494 .. _CONFIGURE_UNIFIED_WORK_AREAS:
    495 
    496 CONFIGURE_UNIFIED_WORK_AREAS
    497 ----------------------------
    498 
    499 CONSTANT:
    500     ``CONFIGURE_UNIFIED_WORK_AREAS``
    501 
    502 DATA TYPE:
    503     Boolean feature macro.
    504 
    505 RANGE:
    506     Defined or undefined.
    507 
    508 DEFAULT VALUE:
    509     This is not defined by default, which specifies that the C Program Heap and
    510     the RTEMS Workspace will be separate.
    511 
    512 DESCRIPTION:
    513     When defined, the C Program Heap and the RTEMS Workspace will be one pool
    514     of memory.
    515 
    516     When not defined, there will be separate memory pools for the RTEMS
    517     Workspace and C Program Heap.
    518 
    519 NOTES:
    520     Having separate pools does have some advantages in the event a task blows a
    521     stack or writes outside its memory area. However, in low memory systems the
    522     overhead of the two pools plus the potential for unused memory in either
    523     pool is very undesirable.
    524 
    525     In high memory environments, this is desirable when you want to use the
    526     RTEMS "unlimited" objects option.  You will be able to create objects until
    527     you run out of all available memory rather then just until you run out of
    528     RTEMS Workspace.
    529 
    530 .. _CONFIGURE_UNLIMITED_ALLOCATION_SIZE:
    531 
    532 CONFIGURE_UNLIMITED_ALLOCATION_SIZE
    533 -----------------------------------
    534 
    535 CONSTANT:
    536     ``CONFIGURE_UNLIMITED_ALLOCATION_SIZE``
    537 
    538 DATA TYPE:
    539     Unsigned integer (``uint32_t``).
    540 
    541 RANGE:
    542     Positive.
    543 
    544 DEFAULT VALUE:
    545     If not defined and ``CONFIGURE_UNLIMITED_OBJECTS`` is defined, the default
    546     value is eight (8).
    547 
    548 DESCRIPTION:
    549     ``CONFIGURE_UNLIMITED_ALLOCATION_SIZE`` provides an allocation size to use
    550     for ``rtems_resource_unlimited`` when using
    551     ``CONFIGURE_UNLIMITED_OBJECTS``.
    552 
    553 NOTES:
    554     By allowing users to declare all resources as being unlimited the user can
    555     avoid identifying and limiting the resources
    556     used. ``CONFIGURE_UNLIMITED_OBJECTS`` does not support varying the
    557     allocation sizes for different objects; users who want that much control
    558     can define the ``rtems_resource_unlimited`` macros themselves.
    559 
    560 .. index:: CONFIGURE_UNLIMITED_OBJECTS
    561 
    562 .. _CONFIGURE_UNLIMITED_OBJECTS:
    563 
    564 CONFIGURE_UNLIMITED_OBJECTS
    565 ---------------------------
    566 
    567 CONSTANT:
    568     ``CONFIGURE_UNLIMITED_OBJECTS``
    569 
    570 DATA TYPE:
    571     Boolean feature macro.
    572 
    573 RANGE:
    574     Defined or undefined.
    575 
    576 DEFAULT VALUE:
    577     This is not defined by default.
    578 
    579 DESCRIPTION:
    580     ``CONFIGURE_UNLIMITED_OBJECTS`` enables ``rtems_resource_unlimited`` mode
    581     for Classic API and POSIX API objects that do not already have a specific
    582     maximum limit defined.
    583 
    584 NOTES:
    585     When using unlimited objects, it is common practice to also specify
    586     ``CONFIGURE_UNIFIED_WORK_AREAS`` so the system operates with a single pool
    587     of memory for both RTEMS and application memory allocations.
    588 
    589 .. index:: CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION
    590 
    591 .. _CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION:
    592 
    593 CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION
    594 ---------------------------------------
    595 
    596 CONSTANT:
    597     ``CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION``
    598 
    599 DATA TYPE:
    600     Boolean feature macro.
    601 
    602 RANGE:
    603     Defined or undefined.
    604 
    605 DEFAULT VALUE:
    606     This is not defined by default, and thus the system initialization is
    607     quiet.
    608 
    609 DESCRIPTION:
    610     This configuration option enables to print some information during system
    611     initialization.
    612 
    613 NOTES:
    614     You may use this feature to debug system initialization issues.  The
    615     printk() function is used to print the information.
    616 
    617 .. index:: CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
    618 .. index:: clear C Program Heap
    619 .. index:: clear RTEMS Workspace
    620 .. index:: zero C Program Heap
    621 .. index:: zero RTEMS Workspace
    622 
    623 .. _CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY:
    624 
    625 CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
    626 --------------------------------------
    627 
    628 CONSTANT:
    629     ``CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY``
    630 
    631 DATA TYPE:
    632     Boolean feature macro.
    633 
    634 RANGE:
    635     Defined or undefined.
    636 
    637 DEFAULT VALUE:
    638     This is not defined by default.  The default is *NOT* to zero out the RTEMS
    639     Workspace or C Program Heap.
    640 
    641 DESCRIPTION:
    642     This macro indicates whether RTEMS should zero the RTEMS Workspace and C
    643     Program Heap as part of its initialization.  If defined, the memory regions
    644     are zeroed.  Otherwise, they are not.
    645 
    646 NOTES:
    647     Zeroing memory can add significantly to system boot time. It is not
    648     necessary for RTEMS but is often assumed by support libraries.  In case
    649     :ref:`CONFIGURE_DIRTY_MEMORY` is also defined, then the memory is first
    650     dirtied and then zeroed.
     15    general
    65116
    65217Classic API Configuration
Note: See TracChangeset for help on using the changeset viewer.