Thanks for the response Joel,
So do you mean that I need to add something like this in
cpukit/sapi/include/condefs.h:
#ifdef CONFIGURE_APPLICATION_NEEDS_MY_DRIVER
#include <rtems/mydriver.h>
#endif
...
rtems_driver_address_table
_IO_Driver_address_table[ CONFIGURE_MAXIMUM_DRIVERS] = {
...
#ifdef CONFIGURE_APPLICATION_NEEDS_MY_DRIVER
AAC_MYDRIVER_DRIVER,
#endif
...
And then in the application:
#define CONFIGURE_APPLICATION_NEEDS_MY_DRIVER
Is this correct?
________________________________________
From: Joel Sherrill [[email protected]]
Sent: 01 July 2015 17:53
To: Inderjit Singh; [email protected]
Subject: Re: BSP Driver not initialized
On July 1, 2015 10:47:16 AM CDT, Inderjit Singh
<[email protected]> 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
_______________________________________________
devel mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/devel