public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Eric Doenges <Eric.Doenges@DynaPel.com>
To: eibach@gdsys.de
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] Creating UART driver
Date: Thu, 11 Sep 2003 13:37:00 -0000	[thread overview]
Message-ID: <3F606C12.2060506@DynaPel.com> (raw)
In-Reply-To: <DIIE.00000768000589C5@gdproxy2.gdsys.de>

eibach@gdsys.de wrote:
> Hello,
> 
> I want to write a driver for the EXAR XR16L788 8 channel UART, which is based on the 16C550 registers.
> The UART is connected to my Atmel EB40A board.
> I have found the generic 16x5x driver in packages/devs/serial/generic. I think I could modify it to fit for the XR16L788.
> 
> But how do I put the driver into the ecos tree the correct way? I didn't find anything very helpful in the docu or the maling list.
> Is there something like a driver creation - sourcetree setup HOWTO?

Not that I know of - you could write one when you're done =8^)

In eCos, drivers are (whenever possible) split into a generic part, and
a platform-specific part that contains all the stuff needed to make the
generic driver work on a specific platform. Both parts are put into
their own packages.

You will need to create a platform-specific package for your target. A
good starting point would be the platform-specific 16550A driver
packages that already exist, for instance that for the common PC target.
Take a look at <...>/packages/devs/serial/i386/pc. There you will find
two files of interest:

<...>cdl/ser_i386_pc.cdl - this CDL file contains all the PC-specific
settings that can be used for the generic serial driver

<...>include/i386_pc_ser.inl - this file contains definitions for the PC 
target. It is included during compilation of the generic driver.

Adapt these two files for the specifics of your target. Then, you must
add your new package to the eCos package database ecos.db. Finally,
create a new 'target' section in the database for the EB40A with your
new driver package (since you cannot add hardware packages to an
existing target with configtool).

Unless the generic driver is not really generic, this should all be
fairly simple and painless.
-- 
--------------------------------------------------------------------
|     Eric Doenges              |     DynaPel Laboratories GmbH    |
|     Tel: +49 89 962428 23     |     Fraunhoferstrasse 9/2        |
|     Fax: +49 89 962428 90     |     D - 85737 Ismaning, Germany  |
--------------------------------------------------------------------


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

  parent reply	other threads:[~2003-09-11 12:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-11 13:37 eibach
2003-09-11 13:37 ` Gary Thomas
2003-09-11 13:37 ` Eric Doenges [this message]
2004-04-13 22:12 [ECOS] What to use instead of pipe? Konstantin Azarov
2004-04-14  7:28 ` [ECOS] Creating UART driver Sam Pham
2004-04-14 13:49   ` Nick Garnett

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=3F606C12.2060506@DynaPel.com \
    --to=eric.doenges@dynapel.com \
    --cc=ecos-discuss@sources.redhat.com \
    --cc=eibach@gdsys.de \
    /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).