From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22826 invoked by alias); 15 Jun 2007 01:21:19 -0000 Received: (qmail 22817 invoked by uid 22791); 15 Jun 2007 01:21:18 -0000 X-Spam-Check-By: sourceware.org Received: from wr-out-0506.google.com (HELO wr-out-0506.google.com) (64.233.184.229) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 15 Jun 2007 01:21:15 +0000 Received: by wr-out-0506.google.com with SMTP id 55so643108wri for ; Thu, 14 Jun 2007 18:21:13 -0700 (PDT) Received: by 10.142.101.17 with SMTP id y17mr128723wfb.1181870473452; Thu, 14 Jun 2007 18:21:13 -0700 (PDT) Received: by 10.143.33.18 with HTTP; Thu, 14 Jun 2007 18:21:13 -0700 (PDT) Message-ID: <70d4f620706141821k534b1157kbb2c3fdd15bdeb3c@mail.gmail.com> Date: Fri, 15 Jun 2007 09:43:00 -0000 From: "Mike Sweeney" To: ecos-discuss@ecos.sourceware.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <70d4f620706141241x6eefc498w18d9590e5dc2ef93@mail.gmail.com> X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Re: Device driver implementation questions X-SW-Source: 2007-06/txt/msg00164.txt.bz2 On 6/14/07, Grant Edwards wrote: > On 2007-06-14, Mike Sweeney wrote: > > > I am finding the way device drivers are implemented in eCos to be > > slightly confusing so was looking for some help. The main source of my > > confusion is the need for some sort of interface under the io package > > and then another part of the driver in the devs package. I have looked > > at examples like the serial driver and understand how it works in that > > context, but am having trouble seeing the bigger picture. Should > > drivers for all types of devices follow this split implementation > > design? Furthermore, can someone provide me an analogy between the > > eCos driver model and Linux, for example? I don't see this two layer > > method in Linux so am hoping someone can clarify this. > > Linux has almost the exact same two layer method for many > drivers: > > Serial drivers: There is a line-discipline layer which > provides the application with open/close/read/write calls. > That corresponds to the "io" stuff in eCos. The > line-discipline layer then calls lower-level > hardware-specific drivers for different sorts of serial > ports. That corresponds to the "dev" stuff in eCos. > > SCSI drivers: Pretty much the same -- there's a generic layer > that provides an API to the user and then a lower layer that > talks to individual SCSI controllers (or other hardware). > > There are probably other examples (VFS on top of the individual > filesystem modules, 80211 on top of various card drivers). > > -- > Grant Edwards grante Yow! FUN is never having to > at say you're SUSHI!! > visi.com Thanks for the information, that clarifies things for me. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss