public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Gary Thomas <gthomas@cygnus.co.uk>
To: Grant Edwards <grante@visi.com>
Cc: ecos <ecos-discuss@sourceware.cygnus.com>,
	Jonathan Larmour <jlarmour@cygnus.co.uk>
Subject: Re: [ECOS] Ethernet and Serial drivers for Linux target?
Date: Thu, 11 Nov 1999 09:32:00 -0000	[thread overview]
Message-ID: <XFMail.991111103157.gthomas@cygnus.co.uk> (raw)
In-Reply-To: <19991111112313.A28718@visi.com>

On 11-Nov-99 Grant Edwards wrote:
> On Thu, Nov 11, 1999 at 05:10:35PM +0000, Jonathan Larmour wrote:
>> Grant Edwards wrote:
>> > 
>> > I told management that it should be possible to write serial port and
>> > Ethernet device drivers for the Linux eCos target, thus allowing
>> > people to do eCos application development on Linux boxes.  Of course
>> > the performance and timing won't be the same, but for basic application
>> > functionality it should be good enough for many things.
>> > 
>> > 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 :-)
 
>> Instead all the current interfacing is done using kernel system calls
>> directly. 
> 
> Ah. That's one question about which I had begun to wonder.  I haven't
> looked at Linux system calls very closely, but there shouldn't be that
> much of a difference in abstraction bewteen what the kernel provides
> and what I need to make an eCos serial driver work.  
> 
>> Of course, this doesn't prevent you having a separate native linux
>> program acting as a server for the client requests, communicating using
>> fd's. And that's where Bart's solution would come in, in the thread in
>> October he mentioned.
> 
> I suppose I could also just use the eCos 16550 driver and diddle the
> hardware directly, but I'd rather let the Linux drivers worrry about
> that so that I can utilize other types of serial ports.
> 

IMHO you should definitely stay away from touching the hardware.  Let
Linux do it for you. If you do things right, you'll be able to convince
eCos that you have access to the real hardware anyway.

  reply	other threads:[~1999-11-11  9:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-11-10 12:38 Grant Edwards
1999-11-10 16:40 ` Gary Thomas
1999-11-11  4:44 ` [ECOS] " Bart Veer
1999-11-11  9:10 ` [ECOS] " Jonathan Larmour
1999-11-11  9:23   ` Grant Edwards
1999-11-11  9:32     ` Gary Thomas [this message]
1999-11-11  9:39       ` Grant Edwards
1999-11-11  9:37     ` [ECOS] " Bart Veer
1999-11-11  9:45       ` Grant Edwards

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=XFMail.991111103157.gthomas@cygnus.co.uk \
    --to=gthomas@cygnus.co.uk \
    --cc=ecos-discuss@sourceware.cygnus.com \
    --cc=grante@visi.com \
    --cc=jlarmour@cygnus.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).