summaryrefslogtreecommitdiffstats
path: root/c-user/config/device-driver.rst
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-16 08:17:31 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-11-17 09:08:53 +0100
commit1c8ce332e273bb9f10cdb18e32e977cb9301fbad (patch)
tree8622528cf6fb748d6196ba5b9a46bf8c10b941bc /c-user/config/device-driver.rst
parentc-user: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS (diff)
downloadrtems-docs-1c8ce332e273bb9f10cdb18e32e977cb9301fbad.tar.bz2
c-user: Use rubric for configuration options
Clear the page for each configuration options similar to the directives. Use a rubric instead of a definition list for the application configuration options similar to the directive documentation pages. For direcives and application configuration options use the same rubric order. Generalize value constraints to constraints. This patch does not change hand written content.
Diffstat (limited to 'c-user/config/device-driver.rst')
-rw-r--r--c-user/config/device-driver.rst868
1 files changed, 521 insertions, 347 deletions
diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst
index 5d1081a..d84da0a 100644
--- a/c-user/config/device-driver.rst
+++ b/c-user/config/device-driver.rst
@@ -1,7 +1,7 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
-.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+.. 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
@@ -28,6 +28,10 @@ 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:
@@ -35,37 +39,46 @@ 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
.. _CONFIGURE_APPLICATION_EXTRA_DRIVERS:
@@ -73,32 +86,42 @@ NOTES:
CONFIGURE_APPLICATION_EXTRA_DRIVERS
-----------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
+.. rubric:: CONSTANT:
-OPTION TYPE:
- This configuration option is an initializer define.
+``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
-DEFAULT VALUE:
- The default value is the empty list.
+.. rubric:: OPTION TYPE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall be a list of initializers for
- structures of type :c:type:`rtems_driver_address_table`.
+This configuration option is an initializer define.
-DESCRIPTION:
- The value of this configuration option is used to initialize the Device
- Driver Table.
+.. rubric:: DEFAULT VALUE:
-NOTES:
- The value of this configuration option is placed after the entries of other
- device driver configuration options.
+The default value is the empty list.
- See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative
- placement of application device driver initializers.
+.. rubric:: DESCRIPTION:
+
+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 :c:type:`rtems_driver_address_table`.
.. Generated from spec:/acfg/if/appl-needs-ata-driver
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER:
@@ -106,28 +129,37 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
--------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_ATA_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 ATA Driver is
- initialized during system initialization.
+.. rubric:: DEFAULT CONFIGURATION:
-NOTES:
- Most BSPs do not include support for an ATA Driver.
+If this configuration option is undefined, then the described feature is not
+enabled.
- 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:: DESCRIPTION:
+
+In case this configuration option is defined, then the ATA Driver is
+initialized during system initialization.
+
+.. 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
.. _CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER:
@@ -135,36 +167,45 @@ 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.
-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 Clock Driver is
- initialized during system initialization.
+.. rubric:: DESCRIPTION:
-NOTES:
- The Clock Driver is responsible for providing a regular interrupt
- which invokes a clock tick directive.
+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
+.. rubric:: NOTES:
- * ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``,
+The Clock Driver is responsible for providing a regular interrupt
+which invokes a clock tick directive.
- * :ref:`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`,
+* ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``,
- otherwise a compile time error in the configuration file will occur.
+* :ref:`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-needs-console-driver
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER:
@@ -172,40 +213,49 @@ 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:
-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 Console Driver is
- initialized during system initialization.
+In case this configuration option is defined, then the Console Driver is
+initialized during system initialization.
-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.
+.. rubric:: NOTES:
- 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.
+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
+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.
- * ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,
+The
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
+* ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,
- * :ref:`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`
+
+configuration options are mutually exclusive.
.. Generated from spec:/acfg/if/appl-needs-framebuffer-driver
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER:
@@ -213,29 +263,38 @@ 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
.. _CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER:
@@ -243,28 +302,37 @@ 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.
-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 IDE Driver is
- initialized during system initialization.
+.. rubric:: DESCRIPTION:
-NOTES:
- Most BSPs do not include support for an IDE Driver.
+In case this configuration option is defined, then the IDE 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 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.
.. Generated from spec:/acfg/if/appl-needs-null-driver
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
.. index:: /dev/null
@@ -273,25 +341,34 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
---------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
+.. rubric:: CONSTANT:
-OPTION TYPE:
- This configuration option is a boolean feature define.
+``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
-DEFAULT CONFIGURATION:
- If this configuration option is undefined, then the described feature is not
- enabled.
+.. rubric:: OPTION TYPE:
-DESCRIPTION:
- In case this configuration option is defined, then the :file:`/dev/null`
- Driver is initialized during system initialization.
+This configuration option is a boolean feature define.
-NOTES:
- This device driver is supported by all BSPs.
+.. 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 :file:`/dev/null`
+Driver is initialized during system initialization.
+
+.. 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
.. _CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER:
@@ -299,29 +376,38 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
--------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_RTC_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 Real-Time Clock 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 real-time clock (RTC). This is because
- many boards do not include the required hardware.
+.. rubric:: DESCRIPTION:
- 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.
+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
.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER:
@@ -329,44 +415,53 @@ 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.
-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 Simple Console Driver
- is initialized during system initialization.
+.. rubric:: DESCRIPTION:
-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.
+In case this configuration option is defined, then the Simple Console Driver
+is initialized during system initialization.
- This device driver reads via :c:func:`getchark`.
+.. rubric:: NOTES:
- This device driver writes via :c:func:`rtems_putc`.
+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.
- The Termios framework is not used. There is no support to change device
- settings, e.g. baud, stop bits, parity, etc.
+This device driver reads via :c:func:`getchark`.
- The
+This device driver writes via :c:func:`rtems_putc`.
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
+The Termios framework is not used. There is no support to change device
+settings, e.g. baud, stop bits, parity, etc.
- * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and
+The
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
- configuration options are mutually exclusive.
+* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and
+
+* :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
.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER:
@@ -374,53 +469,62 @@ 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.
-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 Simple Task Console
+Driver is initialized during system initialization.
-DESCRIPTION:
- In case this configuration option is defined, then the Simple Task Console
- Driver is initialized during system initialization.
+.. rubric:: NOTES:
-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 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 reads via :c:func:`getchark`.
+This device driver reads via :c:func:`getchark`.
- 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.
+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.
- Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the
- write buffer.
+Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the
+write buffer.
- The Termios framework is not used. There is no support to change device
- settings, e.g. baud, stop bits, parity, etc.
+The Termios framework is not used. There is no support to change device
+settings, e.g. baud, stop bits, parity, etc.
- The
+The
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
- * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
+* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
- configuration options are mutually exclusive.
+configuration options are mutually exclusive.
.. Generated from spec:/acfg/if/appl-needs-stub-driver
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER:
@@ -428,26 +532,35 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
---------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_STUB_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 Stub Driver is
- initialized during system initialization.
+If this configuration option is undefined, then the described feature is not
+enabled.
-NOTES:
- This device driver simply provides entry points that return successful and
- is primarily a test fixture. It is supported by all BSPs.
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the Stub Driver is
+initialized during system initialization.
+
+.. rubric:: NOTES:
+
+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
.. _CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER:
@@ -455,36 +568,45 @@ 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.
+
+.. 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 Benchmark Timer Driver is
- initialized during system initialization.
+In case this configuration option is defined, then the Benchmark Timer Driver is
+initialized during system initialization.
-NOTES:
- The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS
- Testsuite. Applications should not use this driver.
+.. rubric:: NOTES:
- The application shall define exactly one of the following configuration options
+The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS
+Testsuite. Applications should not use this driver.
- * :ref:`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
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
- * ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``,
+* :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
- otherwise a compile time error will occur.
+* ``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
.. _CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER:
@@ -492,29 +614,38 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
-------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_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 Watchdog Driver is
- initialized during system initialization.
+.. rubric:: DEFAULT CONFIGURATION:
-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 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 Watchdog Driver is
+initialized during system initialization.
+
+.. rubric:: 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.
.. Generated from spec:/acfg/if/appl-needs-zero-driver
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
.. index:: /dev/zero
@@ -523,25 +654,34 @@ NOTES:
CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
---------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_NEEDS_ZERO_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 :file:`/dev/zero`
- Driver is initialized during system initialization.
+If this configuration option is undefined, then the described feature is not
+enabled.
-NOTES:
- This device driver is supported by all BSPs.
+.. rubric:: DESCRIPTION:
+
+In case this configuration option is defined, then the :file:`/dev/zero`
+Driver is initialized during system initialization.
+
+.. 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
.. _CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS:
@@ -549,33 +689,43 @@ NOTES:
CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
------------------------------------------
-CONSTANT:
- ``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an initializer define.
+
+.. rubric:: DEFAULT VALUE:
-OPTION TYPE:
- This configuration option is an initializer define.
+The default value is the empty list.
-DEFAULT VALUE:
- The default value is the empty list.
+.. rubric:: DESCRIPTION:
-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 value of this configuration option is used to initialize the Device
+Driver Table.
-DESCRIPTION:
- The value of this configuration option is used to initialize the Device
- Driver Table.
+.. rubric:: NOTES:
-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 placed after the entries defined by
+:ref:`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.
+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 :c:type:`rtems_driver_address_table`.
.. Generated from spec:/acfg/if/ata-driver-task-priority
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_ATA_DRIVER_TASK_PRIORITY
.. _CONFIGURE_ATA_DRIVER_TASK_PRIORITY:
@@ -583,29 +733,39 @@ 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 depends on the scheduler
- configuration.
+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:
@@ -613,29 +773,38 @@ NOTES:
CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
-------------------------------------
-CONSTANT:
- ``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.
-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 machine exception to
+POSIX signal mapping is configured during system initialization.
-DESCRIPTION:
- In case this configuration option is defined, then the machine exception to
- POSIX signal mapping is configured during system initialization.
+.. rubric:: NOTES:
-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 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++.
+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
.. _CONFIGURE_MAXIMUM_DRIVERS:
@@ -643,69 +812,74 @@ 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`
-OPTION TYPE:
- This configuration option is an integer define.
+* :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER`
-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_NEEDS_CLOCK_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`
+* :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER`
+* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
- * :ref:`CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER`
+.. rubric:: DESCRIPTION:
- * :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
+The value of this configuration option defines the number of device drivers.
- * :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
+.. 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
- <https://en.cppreference.com/w/c/types/limits>`_.
+.. 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 the
- configuration option value shall be larger than the number of statically
- configured device drivers.
+* 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.