BSP Driver not initialized

Joel Sherrill joel.sherrill at oarcorp.com
Wed Jul 1 15:53:31 UTC 2015



On July 1, 2015 10:47:16 AM CDT, Inderjit Singh <inderjit.singh at aacmicrotec.com> wrote:
>Hi,
>
>I'm trying to initialize (get up) my driver for a or1k target. I reused
>the the hello sample program to see if the driver ckicks in but nothing
>in th console (except the hello msg in Init fiunction. Does anyone know
>why?
>
>I updated the file as shown below. At this point I am only interested
>in to see the initialization kicking in but I don't seems to get
>anything.

Each application configures its own set of drivers, maximums, etc by specifying the CONFIGURE_ macros like at the bottom of hello and then including confdefs.h. 

You need to add your driver to the set. From memory since on phone, this is via CONFIGURE_APPLICATION_DRIVERS or something similar.

This is in the users guide in the configuring a system chapter.

>rtems/c/src/lib/libbsp/or1k/or1k-bsp/mydriver/mydriver.c:
>---
>rtems_device_driver rtems_mydriver_initialize(rtems_device_major_number
>major,
>                                      rtems_device_major_number unused,
>                                              void *arg)
>{   
>  printk("INIT\r\n");
>
>  // rtems_io_register_driver
>  // rtems_io_register_name (/dev/mydriver) with major
>
>  return RTEMS_SUCCESSFUL;
>}
>
>... (Empty functions for read write etc.) ...
>
>
>rtems/c/src/lib/libbsp/or1k/or1k-bsp/include/mydriver.h:
>---
>#include <bsp.h>
>
>static rtems_device_driver
>rtems_mydriver_initialize(rtems_device_major_number major,
>                                      rtems_device_minor_number unused,
>                                                     void *);
>
>... (Other definitions for read write etc.) ...
>
>#define AAC_MYDRIVER_DRIVER {                   \
>      rtems_mydriver_initialize,                \
>      rtems_mydriver_open,                      \
>      rtems_mydriver_close,                     \
>      rtems_mydriver_read,                      \
>      rtems_mydriver_write,                     \
>      rtems_mydriver_control }
>
>static rtems_driver_address_table mydriver = AAC_MYDRIVER_DRIVER;
>
>Makefile.am file rtems/c/src/lib/libbsp/or1k/or1k-bsp/Makefile.am:
>---
>...
>include_bsp_HEADERS += include/mydriver.h
>...
>libbsp_a_SOURCES += mydriver/mydriver.c
>
>Any help is appreciated.
>Thanks,
>Indy

--joel



More information about the devel mailing list