This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Question about writing Device Driver


HuangQiang wrote:
> 
> Hi all:
>    I am currently using an ARM E7T board. And I want to add some exteranl
> device to this board. I would like to write the device driver for the
> exteranl device. what I want to do is to access the external device via the
> system address and data bus then set the configuration register in the
> external device. The external device has been memory mapped. So if I want to
> develop my own device driver in eCOS what should I do? and what procedure
> should I follow? In the eCOS manual I can't find any information about
> setting the configuration registers of the exteranl device. Thank you for
> any help. (Or any sample code or example for such situation?)

If it's memory mapped then it's simple. Many if not most device drivers in
eCos right now are using memory mapped I/O. Simply access the device
addresses through volatile pointers, e.g.

#define DEV_BASE 0x1000000
#define DEV_RXSTAT (*(volatile unsigned int *)(DEV_BASE + 0))
#define DEV_TXSTAT (*(volatile unsigned int *)(DEV_BASE + 4))

int rxstat = DEV_RXSTAT;

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]