summaryrefslogtreecommitdiffstats
path: root/c-user/config/device-driver.rst
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/config/device-driver.rst')
-rw-r--r--c-user/config/device-driver.rst926
1 files changed, 610 insertions, 316 deletions
diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst
index 627c346..1e31575 100644
--- a/c-user/config/device-driver.rst
+++ b/c-user/config/device-driver.rst
@@ -1,7 +1,24 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+.. Copyright (C) 2020, 2021 embedded brains GmbH & Co. KG
+.. Copyright (C) 1988, 2021 On-Line Applications Research Corporation (OAR)
+
+.. This file is part of the RTEMS quality process and was automatically
+.. generated. If you find something that needs to be fixed or
+.. worded better please post a report or patch to an RTEMS mailing list
+.. or raise a bug report:
+..
+.. https://www.rtems.org/bugs.html
+..
+.. For information on updating and regenerating please refer to the How-To
+.. section in the Software Requirements Engineering chapter of the
+.. RTEMS Software Engineering manual. The manual is provided as a part of
+.. a release. For development sources please refer to the online
+.. documentation at:
+..
+.. https://docs.rtems.org
+
+.. Generated from spec:/acfg/if/group-devdrv
Device Driver Configuration
===========================
@@ -9,6 +26,12 @@ Device Driver Configuration
This section describes configuration options related to the device drivers.
Note that network device drivers are not covered by the following options.
+.. Generated from spec:/acfg/if/appl-does-not-need-clock-driver
+
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
.. _CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER:
@@ -16,34 +39,45 @@ Note that network device drivers are not covered by the following options.
CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
------------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: DEFAULT CONFIGURATION:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then a Clock Driver may be
- initialized during system initialization.
+If this configuration option is undefined, then a Clock Driver may be
+initialized during system initialization.
-DESCRIPTION:
- In case this configuration option is defined, then **no** Clock Driver is
- initialized during system initialization.
+.. rubric:: DESCRIPTION:
-NOTES:
- This configuration parameter is intended to prevent the common user error
- of using the Hello World example as the baseline for an application and
- leaving out a clock tick source.
+In case this configuration option is defined, then **no** Clock Driver is
+initialized during system initialization.
- The application shall define exactly one of the following configuration options
+.. rubric:: NOTES:
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
+This configuration parameter is intended to prevent the common user error
+of using the Hello World example as the baseline for an application and
+leaving out a clock tick source.
- * `CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
+The application shall define exactly one of the following configuration options
- * :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
- otherwise a compile time error in the configuration file will occur.
+* ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``, or
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
+
+otherwise a compile time error in the configuration file will occur.
+
+.. Generated from spec:/acfg/if/appl-extra-drivers
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
@@ -52,29 +86,41 @@ NOTES:
CONFIGURE_APPLICATION_EXTRA_DRIVERS
-----------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
-OPTION TYPE:
- This configuration option is an initializer define.
+.. rubric:: OPTION TYPE:
-DEFAULT VALUE:
- The default value is the empty list.
+This configuration option is an initializer define.
-VALUE CONSTRAINTS:
- The value of this configuration option shall be a list of initializers for
- structures of type :c:type:`rtems_driver_address_table`.
+.. rubric:: DEFAULT VALUE:
-DESCRIPTION:
- The value of this configuration option is used to initialize the Device
- Driver Table.
+The default value is the empty list.
-NOTES:
- The value of this configuration option is placed after the entries of other
- device driver configuration options.
+.. rubric:: DESCRIPTION:
- See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative
- placement of application device driver initializers.
+The value of this configuration option is used to initialize the Device
+Driver Table.
+
+.. rubric:: NOTES:
+
+The value of this configuration option is placed after the entries of other
+device driver configuration options.
+
+See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative
+placement of application device driver initializers.
+
+.. rubric:: CONSTRAINTS:
+
+The value of the configuration option shall be a list of initializers for
+structures of type :ref:`InterfaceRtemsDriverAddressTable`.
+
+.. Generated from spec:/acfg/if/appl-needs-ata-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
@@ -83,25 +129,36 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
--------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: DEFAULT CONFIGURATION:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+If this configuration option is undefined, then the described feature is not
+enabled.
-DESCRIPTION:
- In case this configuration option is defined, then the ATA Driver is
- initialized during system initialization.
+.. rubric:: DESCRIPTION:
-NOTES:
- Most BSPs do not include support for an ATA Driver.
+In case this configuration option is defined, then the ATA Driver is
+initialized during system initialization.
- If this option is defined and the BSP does not have this device driver, then
- the user will get a link time error for an undefined symbol.
+.. rubric:: NOTES:
+
+Most BSPs do not include support for an ATA Driver.
+
+If this option is defined and the BSP does not have this device driver, then
+the user will get a link time error for an undefined symbol.
+
+.. Generated from spec:/acfg/if/appl-needs-clock-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
@@ -110,33 +167,44 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
----------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the Clock Driver is
+initialized during system initialization.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: NOTES:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+The Clock Driver is responsible for providing a regular interrupt
+which invokes a clock tick directive.
-DESCRIPTION:
- In case this configuration option is defined, then the Clock Driver is
- initialized during system initialization.
+The application shall define exactly one of the following configuration options
-NOTES:
- The Clock Driver is responsible for providing a regular interrupt
- which invokes a clock tick directive.
+* ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``,
- The application shall define exactly one of the following configuration options
+* :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
- * `CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
+* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
- * :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
+otherwise a compile time error in the configuration file will occur.
- * :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
+.. Generated from spec:/acfg/if/appl-needs-console-driver
- otherwise a compile time error in the configuration file will occur.
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
@@ -145,37 +213,48 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: DESCRIPTION:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+In case this configuration option is defined, then the Console Driver is
+initialized during system initialization.
-DESCRIPTION:
- In case this configuration option is defined, then the Console Driver is
- initialized during system initialization.
+.. rubric:: NOTES:
-NOTES:
- The Console Driver is responsible for providing the :file:`/dev/console`
- device file. This device is used to initialize the standard input, output,
- and error file descriptors.
+The Console Driver is responsible for providing the :file:`/dev/console`
+device file. This device is used to initialize the standard input, output,
+and error file descriptors.
- BSPs should be constructed in a manner that allows :c:func:`printk` to work
- properly without the need for the Console Driver to be configured.
+BSPs should be constructed in a manner that allows :ref:`InterfacePrintk` to work
+properly without the need for the Console Driver to be configured.
- The
+The
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
+* ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
- configuration options are mutually exclusive.
+configuration options are mutually exclusive.
+
+.. Generated from spec:/acfg/if/appl-needs-framebuffer-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
@@ -184,26 +263,37 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
-----------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
+
+.. rubric:: OPTION TYPE:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+This configuration option is a boolean feature define.
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: DEFAULT CONFIGURATION:
-DESCRIPTION:
- In case this configuration option is defined, then the Frame Buffer Driver is
- initialized during system initialization.
+If this configuration option is undefined, then the described feature is not
+enabled.
-NOTES:
- Most BSPs do not include support for a Frame Buffer Driver. This is
- because many boards do not include the required hardware.
+.. rubric:: DESCRIPTION:
- If this option is defined and the BSP does not have this device driver, then
- the user will get a link time error for an undefined symbol.
+In case this configuration option is defined, then the Frame Buffer Driver is
+initialized during system initialization.
+
+.. rubric:: NOTES:
+
+Most BSPs do not include support for a Frame Buffer Driver. This is
+because many boards do not include the required hardware.
+
+If this option is defined and the BSP does not have this device driver, then
+the user will get a link time error for an undefined symbol.
+
+.. Generated from spec:/acfg/if/appl-needs-ide-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
@@ -212,25 +302,36 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
--------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+In case this configuration option is defined, then the IDE Driver is
+initialized during system initialization.
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: NOTES:
-DESCRIPTION:
- In case this configuration option is defined, then the IDE Driver is
- initialized during system initialization.
+Most BSPs do not include support for an IDE Driver.
-NOTES:
- Most BSPs do not include support for an IDE Driver.
+If this option is defined and the BSP does not have this device driver, then
+the user will get a link time error for an undefined symbol.
- If this option is defined and the BSP does not have this device driver, then
- the user will get a link time error for an undefined symbol.
+.. Generated from spec:/acfg/if/appl-needs-null-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
.. index:: /dev/null
@@ -240,22 +341,33 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
---------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+If this configuration option is undefined, then the described feature is not
+enabled.
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: DESCRIPTION:
-DESCRIPTION:
- In case this configuration option is defined, then the :file:`/dev/null`
- Driver is initialized during system initialization.
+In case this configuration option is defined, then the :file:`/dev/null`
+Driver is initialized during system initialization.
-NOTES:
- This device driver is supported by all BSPs.
+.. rubric:: NOTES:
+
+This device driver is supported by all BSPs.
+
+.. Generated from spec:/acfg/if/appl-needs-rtc-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
@@ -264,26 +376,37 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
--------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: OPTION TYPE:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+This configuration option is a boolean feature define.
-DESCRIPTION:
- In case this configuration option is defined, then the Real-Time Clock Driver
- is initialized during system initialization.
+.. rubric:: DEFAULT CONFIGURATION:
-NOTES:
- Most BSPs do not include support for a real-time clock (RTC). This is because
- many boards do not include the required hardware.
+If this configuration option is undefined, then the described feature is not
+enabled.
- If this is defined and the BSP does not have this device driver, then the
- user will get a link time error for an undefined symbol.
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the Real-Time Clock Driver
+is initialized during system initialization.
+
+.. rubric:: NOTES:
+
+Most BSPs do not include support for a real-time clock (RTC). This is because
+many boards do not include the required hardware.
+
+If this is defined and the BSP does not have this device driver, then the
+user will get a link time error for an undefined symbol.
+
+.. Generated from spec:/acfg/if/appl-needs-simple-console-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
@@ -292,41 +415,52 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
-------------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+If this configuration option is undefined, then the described feature is not
+enabled.
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: DESCRIPTION:
-DESCRIPTION:
- In case this configuration option is defined, then the Simple Console Driver
- is initialized during system initialization.
+In case this configuration option is defined, then the Simple Console Driver
+is initialized during system initialization.
-NOTES:
- This device driver is responsible for providing the :file:`/dev/console`
- device file. This device is used to initialize the standard input, output,
- and error file descriptors.
+.. rubric:: NOTES:
- This device driver reads via :c:func:`getchark`.
+This device driver is responsible for providing the :file:`/dev/console`
+device file. This device is used to initialize the standard input, output,
+and error file descriptors.
- This device driver writes via :c:func:`rtems_putc`.
+This device driver reads via :ref:`InterfaceGetchark`.
- The Termios framework is not used. There is no support to change device
- settings, e.g. baud, stop bits, parity, etc.
+This device driver writes via :ref:`InterfaceRtemsPutc`.
- The
+The Termios framework is not used. There is no support to change device
+settings, e.g. baud, stop bits, parity, etc.
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
+The
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and
- configuration options are mutually exclusive.
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+
+configuration options are mutually exclusive.
+
+.. Generated from spec:/acfg/if/appl-needs-simple-task-console-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
@@ -335,50 +469,61 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
------------------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the Simple Task Console
+Driver is initialized during system initialization.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: NOTES:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+This device driver is responsible for providing the :file:`/dev/console`
+device file. This device is used to initialize the standard input, output,
+and error file descriptors.
-DESCRIPTION:
- In case this configuration option is defined, then the Simple Task Console
- Driver is initialized during system initialization.
+This device driver reads via :ref:`InterfaceGetchark`.
-NOTES:
- This device driver is responsible for providing the :file:`/dev/console`
- device file. This device is used to initialize the standard input, output,
- and error file descriptors.
+This device driver writes into a write buffer. The count of characters
+written into the write buffer is returned. It might be less than the
+requested count, in case the write buffer is full. The write is
+non-blocking and may be called from interrupt context. A dedicated task
+reads from the write buffer and outputs the characters via
+:ref:`InterfaceRtemsPutc`. This task runs with the least important priority.
+The write buffer size is 2047 characters and it is not configurable.
- This device driver reads via :c:func:`getchark`.
+Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the
+write buffer.
- This device driver writes into a write buffer. The count of characters
- written into the write buffer is returned. It might be less than the
- requested count, in case the write buffer is full. The write is
- non-blocking and may be called from interrupt context. A dedicated task
- reads from the write buffer and outputs the characters via
- :c:func:`rtems_putc`. This task runs with the least important priority.
- The write buffer size is 2047 characters and it is not configurable.
+The Termios framework is not used. There is no support to change device
+settings, e.g. baud, stop bits, parity, etc.
- Use ``fsync(STDOUT_FILENO)`` or ``fdatasync(STDOUT_FILENO)`` to drain the
- write buffer.
+The
- The Termios framework is not used. There is no support to change device
- settings, e.g. baud, stop bits, parity, etc.
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
- The
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
+* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
+configuration options are mutually exclusive.
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+.. Generated from spec:/acfg/if/appl-needs-stub-driver
- configuration options are mutually exclusive.
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
@@ -387,23 +532,34 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
---------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: DESCRIPTION:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+In case this configuration option is defined, then the Stub Driver is
+initialized during system initialization.
-DESCRIPTION:
- In case this configuration option is defined, then the Stub Driver is
- initialized during system initialization.
+.. rubric:: NOTES:
-NOTES:
- This device driver simply provides entry points that return successful and
- is primarily a test fixture. It is supported by all BSPs.
+This device driver simply provides entry points that return successful and
+is primarily a test fixture. It is supported by all BSPs.
+
+.. Generated from spec:/acfg/if/appl-needs-timer-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
@@ -412,33 +568,44 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
----------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
-OPTION TYPE:
- This configuration option is a boolean feature define.
+.. rubric:: DEFAULT CONFIGURATION:
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+If this configuration option is undefined, then the described feature is not
+enabled.
-DESCRIPTION:
- In case this configuration option is defined, then the Benchmark Timer Driver is
- initialized during system initialization.
+.. rubric:: DESCRIPTION:
-NOTES:
- The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS
- Testsuite. Applications should not use this driver.
+In case this configuration option is defined, then the Benchmark Timer Driver is
+initialized during system initialization.
- The application shall define exactly one of the following configuration options
+.. rubric:: NOTES:
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
+The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS
+Testsuite. Applications should not use this driver.
- * :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
+The application shall define exactly one of the following configuration options
- * `CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
- otherwise a compile time error will occur.
+* :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
+
+* ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``,
+
+otherwise a compile time error will occur.
+
+.. Generated from spec:/acfg/if/appl-needs-watchdog-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
@@ -447,26 +614,37 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
-------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+In case this configuration option is defined, then the Watchdog Driver is
+initialized during system initialization.
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: NOTES:
-DESCRIPTION:
- In case this configuration option is defined, then the Watchdog Driver is
- initialized during system initialization.
+Most BSPs do not include support for a watchdog device driver. This is
+because many boards do not include the required hardware.
-NOTES:
- Most BSPs do not include support for a watchdog device driver. This is
- because many boards do not include the required hardware.
+If this is defined and the BSP does not have this device driver, then the
+user will get a link time error for an undefined symbol.
- If this is defined and the BSP does not have this device driver, then the
- user will get a link time error for an undefined symbol.
+.. Generated from spec:/acfg/if/appl-needs-zero-driver
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
.. index:: /dev/zero
@@ -476,22 +654,33 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
---------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+If this configuration option is undefined, then the described feature is not
+enabled.
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: DESCRIPTION:
-DESCRIPTION:
- In case this configuration option is defined, then the :file:`/dev/zero`
- Driver is initialized during system initialization.
+In case this configuration option is defined, then the :file:`/dev/zero`
+Driver is initialized during system initialization.
-NOTES:
- This device driver is supported by all BSPs.
+.. rubric:: NOTES:
+
+This device driver is supported by all BSPs.
+
+.. Generated from spec:/acfg/if/appl-prerequisite-drivers
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
@@ -500,30 +689,42 @@ NOTES:
CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
+
+.. rubric:: OPTION TYPE:
-OPTION TYPE:
- This configuration option is an initializer define.
+This configuration option is an initializer define.
-DEFAULT VALUE:
- The default value is the empty list.
+.. rubric:: DEFAULT VALUE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall be a list of initializers for
- structures of type :c:type:`rtems_driver_address_table`.
+The default value is the empty list.
-DESCRIPTION:
- The value of this configuration option is used to initialize the Device
- Driver Table.
+.. rubric:: DESCRIPTION:
-NOTES:
- The value of this configuration option is placed after the entries defined by
- :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
- configuration options.
+The value of this configuration option is used to initialize the Device
+Driver Table.
- See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
- of application device driver initializers.
+.. rubric:: NOTES:
+
+The value of this configuration option is placed after the entries defined by
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
+configuration options.
+
+See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
+of application device driver initializers.
+
+.. rubric:: CONSTRAINTS:
+
+The value of the configuration option shall be a list of initializers for
+structures of type :ref:`InterfaceRtemsDriverAddressTable`.
+
+.. Generated from spec:/acfg/if/ata-driver-task-priority
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_ATA_DRIVER_TASK_PRIORITY
@@ -532,25 +733,77 @@ NOTES:
CONFIGURE_ATA_DRIVER_TASK_PRIORITY
----------------------------------
-CONSTANT:
- ``CONFIGURE_ATA_DRIVER_TASK_PRIORITY``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_ATA_DRIVER_TASK_PRIORITY``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
-OPTION TYPE:
- This configuration option is an integer define.
+The default value is 140.
-DEFAULT VALUE:
- The default value is 140.
+.. rubric:: DESCRIPTION:
-VALUE CONSTRAINTS:
- The value of this configuration option shall be a valid Classic API task
- priority. The set of valid task priorities is scheduler-specific.
+The value of this configuration option defines the ATA task priority.
-DESCRIPTION:
- The value of this configuration option defines the ATA task priority.
+.. rubric:: NOTES:
-NOTES:
- This configuration option is only evaluated if the configuration option
- :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER` is defined.
+This configuration option is only evaluated if the configuration option
+:ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER` is defined.
+
+.. rubric:: CONSTRAINTS:
+
+The value of the configuration option shall be a valid Classic API task
+priority. The set of valid task priorities depends on the scheduler
+configuration.
+
+.. Generated from spec:/acfg/if/exception-to-signal-mapping
+
+.. raw:: latex
+
+ \clearpage
+
+.. index:: CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
+
+.. _CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING:
+
+CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
+-------------------------------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is a boolean feature define.
+
+.. rubric:: DEFAULT CONFIGURATION:
+
+If this configuration option is undefined, then the described feature is not
+enabled.
+
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the machine exception to
+POSIX signal mapping is configured during system initialization.
+
+.. rubric:: NOTES:
+
+This device driver is responsible for setting up a mapping from machine
+exceptions to POSIX signals so that applications may consume them and alter
+task execution as necessary.
+
+This is especially useful for applications written in Ada or C++.
+
+.. Generated from spec:/acfg/if/max-drivers
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_DRIVERS
@@ -559,36 +812,77 @@ NOTES:
CONFIGURE_MAXIMUM_DRIVERS
-------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_DRIVERS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_DRIVERS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
+
+This is computed by default, and is set to the number of statically
+configured device drivers configured using the following configuration
+options:
+
+* :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER`
+
+* :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
+
+If the :ref:`CONFIGURE_DISABLE_BSP_SETTINGS` configuration option is not defined and
+the :term:`BSP` provides
+:c:macro:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`, then the BSP-provided
+prerequisite device drivers are also taken into account.
+
+.. rubric:: DESCRIPTION:
-OPTION TYPE:
- This configuration option is an integer define.
+The value of this configuration option defines the number of device drivers.
-DEFAULT VALUE:
- This is computed by default, and is set to the number of device drivers
- configured using the ``CONFIGURE_APPLICATIONS_NEEDS_XXX_DRIVER``
- configuration options.
+.. rubric:: NOTES:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+If the application will dynamically install device drivers, then the
+configuration option value shall be larger than the number of statically
+configured device drivers.
- * It shall be less than or equal to ``SIZE_MAX``.
+.. rubric:: CONSTRAINTS:
- * It shall be greater than or equal than the number of statically configured
- device drivers.
+The following constraints apply to this configuration option:
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+* The value of the configuration option shall be less than or equal to
+ `SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
-DESCRIPTION:
- The value of this configuration option defines the number of device drivers.
+* The value of the configuration option shall be greater than or equal than the
+ number of statically configured device drivers.
-NOTES:
- If the application will dynamically install device drivers, then this
- configuration parameter shall be larger than the number of statically
- configured device drivers. Drivers configured using the
- ``CONFIGURE_APPLICATIONS_NEEDS_XXX_DRIVER`` configuration options are
- statically installed.
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.