This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Problem about writing IO device driver
- From: Dorau Kai <DORAUK at thmulti dot com>
- To: "'HuangQiang'" <jameshq at liverpool dot ac dot uk>, ecos-discuss at sourceware dot cygnus dot com
- Date: Tue, 8 Jan 2002 16:30:34 +0100
- Subject: RE: [ECOS] Problem about writing IO device driver
I take BLOCK_DEVIO_TABLE(...) and cyg_io_bwrite/bread(.., cyg_uint32 pos).
'pos' is some position within the memory map of the driver.
Kaila
----------------------------------------------------------------------------
Kai Dorau - mailto:dorauk@thmulti.com
TEL: (+49 511) 418 2557, FAX: 2483
Hannover Home Networks (HHN) Laboratory
Corporate Research Hanover
Research & Innovation
Thomson Multimedia
> -----Original Message-----
> From: HuangQiang [mailto:jameshq@liverpool.ac.uk]
> Sent: Dienstag, 8. Januar 2002 15:48
> To: eCos
> Subject: [ECOS] Problem about writing IO device driver
>
>
> Hi all:
> I am trying to write a device (logical) driver for memory mapped IO
> device for ARM E7T board. I have a question:
>
> I develope the logical device driver for memory mapped io
> device follow the
> way doing serial device driver.
>
> calling procedure is:
>
> 1. install the IO function: DEVIO_TABLE(...)
> 2. write the logical device driver function: read(), write(),
> set_config(),
> get_config()
> 3. in read(), write(), set_config(), get_config() call the
> hardware function
> to manipulate the hardware
>
> one problem is that: I need to pass the register address into the
> application (call cyg_io_read(), cyg_io_write()) as reading
> or writing to
> the memory mapped io device. but cyg_io_read(),
> cyg_io_write() can't receive
> this extra parameter. So any way doing this? Or maybe I went
> into the wrong
> way. Thanks for any help.
>
> james
>