diff options
Diffstat (limited to 'c-user/config/device-driver.rst')
-rw-r--r-- | c-user/config/device-driver.rst | 925 |
1 files changed, 590 insertions, 335 deletions
diff --git a/c-user/config/device-driver.rst b/c-user/config/device-driver.rst index 16d92b0..1e31575 100644 --- a/c-user/config/device-driver.rst +++ b/c-user/config/device-driver.rst @@ -1,14 +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 was automatically generated. Do not edit it manually. -.. Please have a look at +.. 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://docs.rtems.org/branches/master/eng/req/howto.html +.. https://www.rtems.org/bugs.html .. -.. for information how to maintain and re-generate this file. +.. 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 =========================== @@ -16,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: @@ -23,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. + +.. rubric:: DEFAULT CONFIGURATION: + +If this configuration option is undefined, then a Clock Driver may be +initialized during system initialization. + +.. rubric:: DESCRIPTION: -OPTION TYPE: - This configuration option is a boolean feature define. +In case this configuration option is defined, then **no** Clock Driver is +initialized during system initialization. -DEFAULT CONFIGURATION: - If this configuration option is undefined, then a Clock Driver may be - initialized during system initialization. +.. rubric:: NOTES: -DESCRIPTION: - In case this configuration option is defined, then **no** Clock Driver is - initialized during system initialization. +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. -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. +The application shall define exactly one of the following configuration options - The application shall define exactly one of the following configuration options +* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`, - * :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`, +* ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``, or - * ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``, or +* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`, - * :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`, +otherwise a compile time error in the configuration file will occur. - 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 @@ -59,29 +86,41 @@ NOTES: CONFIGURE_APPLICATION_EXTRA_DRIVERS ----------------------------------- -CONSTANT: - ``CONFIGURE_APPLICATION_EXTRA_DRIVERS`` +.. rubric:: CONSTANT: + +``CONFIGURE_APPLICATION_EXTRA_DRIVERS`` + +.. rubric:: OPTION TYPE: + +This configuration option is an initializer define. + +.. rubric:: DEFAULT VALUE: + +The default value is the empty list. + +.. rubric:: DESCRIPTION: + +The value of this configuration option is used to initialize the Device +Driver Table. + +.. rubric:: NOTES: -OPTION TYPE: - This configuration option is an initializer define. +The value of this configuration option is placed after the entries of other +device driver configuration options. -DEFAULT VALUE: - The default value is the empty list. +See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative +placement of application device driver initializers. -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:: CONSTRAINTS: -DESCRIPTION: - The value of this configuration option is used to initialize the Device - Driver Table. +The value of the configuration option shall be a list of initializers for +structures of type :ref:`InterfaceRtemsDriverAddressTable`. -NOTES: - The value of this configuration option is placed after the entries of other - device driver configuration options. +.. Generated from spec:/acfg/if/appl-needs-ata-driver - See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative - placement of application device driver initializers. +.. raw:: latex + + \clearpage .. index:: CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER @@ -90,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. + +.. 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 ATA Driver is +initialized during system initialization. -DESCRIPTION: - In case this configuration option is defined, then the ATA Driver is - initialized during system initialization. +.. rubric:: NOTES: -NOTES: - Most BSPs do not include support for an ATA Driver. +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. +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 @@ -117,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: -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 Clock Driver is - initialized during system initialization. +If this configuration option is undefined, then the described feature is not +enabled. -NOTES: - The Clock Driver is responsible for providing a regular interrupt - which invokes a clock tick directive. +.. rubric:: DESCRIPTION: - The application shall define exactly one of the following configuration options +In case this configuration option is defined, then the Clock Driver is +initialized during system initialization. - * ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``, +.. rubric:: NOTES: - * :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or +The Clock Driver is responsible for providing a regular interrupt +which invokes a clock tick directive. - * :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`, +The application shall define exactly one of the following configuration options - otherwise a compile time error in the configuration file will occur. +* ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``, + +* :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 @@ -152,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: -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 :ref:`InterfacePrintk` 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 @@ -191,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: + +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 Frame Buffer 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. +Most BSPs do not include support for a Frame Buffer Driver. This is +because many boards do not include the required hardware. -DESCRIPTION: - In case this configuration option is defined, then the Frame Buffer 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. -NOTES: - Most BSPs do not include support for a Frame Buffer Driver. This is - because many boards do not include the required hardware. +.. Generated from spec:/acfg/if/appl-needs-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. +.. raw:: latex + + \clearpage .. index:: CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER @@ -219,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: -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 IDE Driver is - initialized during system initialization. +In case this configuration option is defined, then the IDE Driver is +initialized during system initialization. -NOTES: - Most BSPs do not include support for an IDE Driver. +.. rubric:: NOTES: - 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. +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 @@ -247,22 +341,33 @@ NOTES: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER --------------------------------------- -CONSTANT: - ``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER`` +.. rubric:: CONSTANT: + +``CONFIGURE_APPLICATION_NEEDS_NULL_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 :file:`/dev/null` - Driver is initialized during system initialization. +.. rubric:: DEFAULT CONFIGURATION: -NOTES: - This device driver is supported by all BSPs. +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 @@ -271,26 +376,37 @@ NOTES: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER -------------------------------------- -CONSTANT: - ``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`` +.. rubric:: CONSTANT: + +``CONFIGURE_APPLICATION_NEEDS_RTC_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 Real-Time Clock Driver - is initialized during system initialization. +In case this configuration option is defined, then the Real-Time Clock Driver +is initialized during system initialization. -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:: NOTES: - 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. +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 @@ -299,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: + +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 Simple Console 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 Simple Console Driver - is initialized during system initialization. +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. -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 reads via :ref:`InterfaceGetchark`. - This device driver reads via :c:func:`rtems_putc`. +This device driver writes via :ref:`InterfaceRtemsPutc`. - This device driver writes via :c:func:`getchark`. +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`, +* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and - * ``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-simple-task-console-driver + +.. raw:: latex + + \clearpage .. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER @@ -342,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: -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 Task Console - Driver is initialized during system initialization. +In case this configuration option is defined, then the Simple Task 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:`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. - 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:`getchark`. 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 :ref:`InterfaceGetchark`. - 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 +:ref:`InterfaceRtemsPutc`. 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. +* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`` + +configuration options are mutually exclusive. + +.. Generated from spec:/acfg/if/appl-needs-stub-driver + +.. raw:: latex + + \clearpage .. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER @@ -394,23 +532,34 @@ NOTES: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER --------------------------------------- -CONSTANT: - ``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`` +.. rubric:: CONSTANT: + +``CONFIGURE_APPLICATION_NEEDS_STUB_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 Stub Driver is - initialized during system initialization. +.. rubric:: DEFAULT CONFIGURATION: -NOTES: - This device driver simply provides entry points that return successful and - is primarily a test fixture. It is supported by all BSPs. +If this configuration option is undefined, then the described feature is not +enabled. + +.. 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 @@ -419,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 @@ -454,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 @@ -483,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: + +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/zero` +Driver is initialized during system initialization. + +.. rubric:: NOTES: -OPTION TYPE: - This configuration option is a boolean feature define. +This device driver is supported by all BSPs. -DEFAULT CONFIGURATION: - If this configuration option is undefined, then the described feature is not - enabled. +.. Generated from spec:/acfg/if/appl-prerequisite-drivers -DESCRIPTION: - In case this configuration option is defined, then the :file:`/dev/zero` - Driver is initialized during system initialization. +.. raw:: latex -NOTES: - This device driver is supported by all BSPs. + \clearpage .. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS @@ -507,30 +689,42 @@ NOTES: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS ------------------------------------------ -CONSTANT: - ``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`` +.. rubric:: CONSTANT: -OPTION TYPE: - This configuration option is an initializer define. +``CONFIGURE_APPLICATION_PREREQUISITE_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 defined by - :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver - configuration options. +The default value is the empty list. - See :ref:`CONFIGURE_APPLICATION_EXTRA_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 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 @@ -539,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: + +The default value is 140. + +.. rubric:: DESCRIPTION: + +The value of this configuration option defines the ATA task priority. + +.. rubric:: NOTES: + +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 -OPTION TYPE: - This configuration option is an integer define. +.. raw:: latex -DEFAULT VALUE: - The default value is 140. + \clearpage -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. +.. index:: CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING -DESCRIPTION: - The value of this configuration option defines the ATA task priority. +.. _CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING: -NOTES: - This configuration option is only evaluated if the configuration option - :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER` is defined. +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 @@ -566,68 +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` -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` +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. - * :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. |