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: "HuangQiang" <jameshq at liverpool dot ac dot uk>
- To: "Jonathan Larmour" <jlarmour at redhat dot com>
- Cc: "eCos" <ecos-discuss at sources dot redhat dot com>
- Date: Tue, 8 Jan 2002 15:10:53 -0000
- Subject: RE: [ECOS] Problem about writing IO device driver
Thanks Jifl:
But one memory mapped IO device driver has many register need to be
written to or read from? So each time I can call the cyg_io_read() or
cyg_io_write() to write or read different register in one memory mapped io
device.
Best regards
james
-----Original Message-----
From: jlarmour@cambridge.redhat.com [mailto:jlarmour@cambridge.redhat.com]On
Behalf Of Jonathan Larmour
Sent: 08 January 2002 15:08
To: HuangQiang
Cc: eCos
Subject: Re: [ECOS] Problem about writing IO device driver
HuangQiang wrote:
>
> 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.
You should associate the register address with the handle of each device,
the handle in turn corresponding to the DEVTAB_ENTRY.
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