[ECOS] Ethernet and Serial drivers for Linux target?

Grant Edwards grante@visi.com
Thu Nov 11 09:39:00 GMT 1999


On Thu, Nov 11, 1999 at 10:31:57AM -0700, Gary Thomas wrote:

[regarding writing eCos serial/ethernet drivers for Linux target] 

> >> > Has anybody done this?  I assume that all you have to do is to map
> >> > cyg_io_read() and cyg_io_write() into read() and write() calls, and
> >> > map cyg_io_get_config() and cyg_io_set_config() into appropriate
> >> > ioctl() calls?
> >> 
> >> One other issue that no-one else has mentioned is that you can't make calls
> >> to the system read() and write(), ioctl() etc. directly. To do that would
> >> involve linking with glibc, and that would simply not work.
> > 
> > I presume I could grab the source for Linux glibc read() write() and
> > ioctl(), strip out the stuff I don't need, and impliment my own
> > eCos-friendly versions of those calls...
> 
> There is a very simple mapping of functions onto the actual system calls.
> Beware of the glibc code though, it's full of macros that do all of this work :-)

Oh goody.  Macros are the most obsfucating things in most of the C
code I've ever worked on (though darned useful, they can easily get
out of control).  In my "spare time" I'll start looking at Linux
system calls and glibc source code.

> IMHO you should definitely stay away from touching the hardware.
> Let Linux do it for you.

Agreed. I'd like to be able to use several different types of serial
boards on the Linux target, and I really don't want to have to write a
new driver for each one.  The ARM target will be limited to just one
or two different types of UARTS.

-- 
Grant Edwards
Principal Engineer
Comtrol Corporation


More information about the Ecos-discuss mailing list