BSP and Device Driver Development Guide
The driver initialization is called once during the RTEMS initialization process.
The console_initialize function may look like this:
rtems_device_driver console_initialize(
rtems_device_major_number major,
rtems_device_minor_number minor,
void *arg
)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_device_minor_number i = 0;
/*
* Initialize the Termios infrastructure. If Termios has already
* been initialized by another device driver, then this call will
* have no effect.
*/
rtems_termios_initialize();
/* Initialize each device */
for (i = 0; i < MY_DRIVER_DEVICE_NUMBER; ++i) {
my_driver_entry *e = &my_driver_table [i];
/*
* Register this device in the file system. In order to use the
* console (i.e. being able to do printf, scanf etc. on stdin,
* stdout and stderr), some device must be registered
* as "/dev/console" (CONSOLE_DEVICE_NAME).
*/
sc = rtems_io_register_name (e->device_name, major, i);
RTEMS_CHECK_SC(sc, "Register IO device");
/*
* Initialize this device and install the interrupt handler if
* necessary. You may also initialize the device in the first
* open call.
*/
}
return RTEMS_SUCCESSFUL;
}
BSP and Device Driver Development Guide
Copyright © 1988-2008 OAR Corporation