RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Macros
Device Driver Configuration

Macros

#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_EXTRA_DRIVERS
 This configuration option is an initializer define.
 
#define CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
 This configuration option is a boolean feature define.
 
#define CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
 This configuration option is an initializer define.
 
#define CONFIGURE_ATA_DRIVER_TASK_PRIORITY
 This configuration option is an integer define.
 
#define CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
 This configuration option is a boolean feature define.
 
#define CONFIGURE_MAXIMUM_DRIVERS
 This configuration option is an integer define.
 

Detailed Description

This section describes configuration options related to the device drivers. Note that network device drivers are not covered by the following options.

Macro Definition Documentation

◆ CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER

#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER

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.
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

otherwise a compile time error in the configuration file will occur.

◆ CONFIGURE_APPLICATION_EXTRA_DRIVERS

#define CONFIGURE_APPLICATION_EXTRA_DRIVERS

This configuration option is an initializer define.

The value of this configuration option is used to initialize the Device Driver Table.

Default Value
The default value is the empty list.
Constraints
The value of the configuration option shall be a list of initializers for structures of type rtems_driver_address_table.
Notes

The value of this configuration option is placed after the entries of other device driver configuration options.

See CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS for an alternative placement of application device driver initializers.

◆ CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the ATA Driver is initialized during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
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.

◆ CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Clock Driver is initialized during system initialization.

Default Configuration
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.

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_CONSOLE_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Console Driver is initialized during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
Notes

The Console Driver is responsible for providing the /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 printk() to work properly without the need for the Console Driver to be configured.

The

configuration options are mutually exclusive.

◆ CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Frame Buffer Driver is initialized during system initialization.

Default Configuration
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.

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.

◆ CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER

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.
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.

◆ CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the /dev/null Driver is initialized during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
Notes
This device driver is supported by all BSPs.

◆ CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Real-Time Clock Driver is initialized during system initialization.

Default Configuration
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.

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.

◆ CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER

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.
Notes

This device driver is responsible for providing the /dev/console device file. This device is used to initialize the standard input, output, and error file descriptors.

This device driver reads via getchark().

This device driver writes via rtems_putc().

The Termios framework is not used. There is no support to change device settings, e.g. baud, stop bits, parity, etc.

The

configuration options are mutually exclusive.

◆ CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Simple Task Console Driver is initialized during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
Notes

This device driver is responsible for providing the /dev/console device file. This device is used to initialize the standard input, output, and error file descriptors.

This device driver reads via 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 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.

The Termios framework is not used. There is no support to change device settings, e.g. baud, stop bits, parity, etc.

The

configuration options are mutually exclusive.

◆ CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Stub Driver is initialized during system initialization.

Default Configuration
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.

◆ CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the Benchmark Timer Driver is initialized during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
Notes

The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS Testsuite. Applications should not use this driver.

The application shall define exactly one of the following configuration options

otherwise a compile time error will occur.

◆ CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER

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.
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.

◆ CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER

#define CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER

This configuration option is a boolean feature define.

In case this configuration option is defined, then the /dev/zero Driver is initialized during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
Notes
This device driver is supported by all BSPs.

◆ CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS

#define CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS

This configuration option is an initializer define.

The value of this configuration option is used to initialize the Device Driver Table.

Default Value
The default value is the empty list.
Constraints
The value of the configuration option shall be a list of initializers for structures of type rtems_driver_address_table.
Notes

The value of this configuration option is placed after the entries defined by #CONFIGURE_BSP_PREREQUISITE_DRIVERS and before all other device driver configuration options.

See CONFIGURE_APPLICATION_EXTRA_DRIVERS for an alternative placement of application device driver initializers.

◆ CONFIGURE_ATA_DRIVER_TASK_PRIORITY

#define CONFIGURE_ATA_DRIVER_TASK_PRIORITY

This configuration option is an integer define.

The value of this configuration option defines the ATA task priority.

Default Value
The default value is 140.
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.
Notes
This configuration option is only evaluated if the configuration option CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER is defined.

◆ CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING

#define CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING

This configuration option is a boolean feature define.

In case this configuration option is defined, then the machine exception to POSIX signal mapping is configured during system initialization.

Default Configuration
If this configuration option is undefined, then the described feature is not enabled.
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++.

◆ CONFIGURE_MAXIMUM_DRIVERS

#define CONFIGURE_MAXIMUM_DRIVERS

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 statically configured device drivers configured using the following configuration options:

If the CONFIGURE_DISABLE_BSP_SETTINGS configuration option is not defined and the BSP provides #CONFIGURE_BSP_PREREQUISITE_DRIVERS, then the BSP-provided prerequisite device drivers are also taken into account.

Constraints

The following constraints apply to this configuration option:

  • The value of the configuration option shall be less than or equal to SIZE_MAX.
  • The value of the configuration option shall be greater than or equal 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.
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.