Your valuable Suggestions / Advise for Beginners in Device Dr iver Development under Embedded Linux P

Dixon, Myron @ GNS Myron.Dixon at
Mon Jul 12 23:39:24 EST 2004

Approximately 1.5 years ago I found myself in a similar
situation as you.  So, I'm no guru, but I've learned work with
the tool chain and build device drivers for our custom hardware
using a 2.4.18 kernel on an 8260 custom board.

I would first of all recommend two books that you should read to
answer some of your basic questions. Both are available for
review at

First, is Building Embedded Linux Systems by Karim Yaghmour. It covers
how to build your tool chain through getting Linux running on
your target for multiple processor architectures.  Excellent resource.

The second is Linux Device Drivers by Alessandro Rubin and
Jonathan Corbet.  This is another great source dedicated to device
driver development in a linux environment.  The one draw back about
this one is the latest edition (that I have- 2nd) is limited to 2.4
kernels.  You mention RTOSs so, I'm assuming you'd be looking into
2.6 kernels.

That's pretty much all I have to offer, maybe some of the real gurus can
assist you with some of the tougher questions you have


-----Original Message-----
From: m madhuker [mailto:mythri_madhuker at]
Sent: Monday, 12 July, 2004 2:44 AM
Subject: Your valuable Suggestions / Advise for Beginners in Device
    Driver Development under Embedded Linux P

I have been assigned some project based in Device Driver Development for
USB, Printers, IDE, Ethernet under Embedded Linux. Since I am a beginner
in this area, I would like to know some details based on the following

1] Pre-requisite skills / knowledge and concepts to understand before
embarking on the above project.

2] Typical Project Environment for Device Driver Development under
Embedded Linux Platform.

3] Ups & Downs of Embedded Linux w.r.t other RTOSes ( VxWorks, Psos,
Nucleus, QNX, OSEK etc . . . .) Please highlight me about the Benchmark

4] Suppose I need to start off with the above project ( Device Drivers
for Printers, Scanners, PDAs, LCDs, Keypads ), what are the essential
points to be kept in mind for smooth running of the project.

5] What are the Initialization / Installation steps to be done regarding
Embedded Linux. Please declare the latest version to be used. Upon
selecting the RTOS, how should I deal with the selection of Target Board
along with the Supporting Tools ?

6] Is it sufficient to use C, ignoring C++ & Java ? Is Assembly Language
essential ? Which part of C is commonly used in Device Drivers ?

7] Please let me know the typical driver size ( Footprint ) for Printer.
What could be the duration of the project ?

8] Highlight me about some of the useful websites, books / references
and contact Email IDs of Experienced Professionals involved in such

9] How does the Testing / Debugging takes place ? What are the Test /
Debug Tools available for such Operations ?

10] Please let me know the Optimization Techniques involved in the
Device Driver Development.

11] In this case of the Project, Linux Porting must be done prior to
writing Device Drivers. Am I right ? Kindly comment.

12] What Technical details should I need to understand under RTOS, C,
Embedded Linux ? Is it necessary to know any Protocol for Device Driver
Development ?

13] How often do you use Oscillators / Logic Analyzer ? Please highlight
me about the Connection / Installation details.

Please furnish the above details as soon as possible and oblige. Your
assistance in this regard would greatly benefit towards my successful
career under this area.

** Sent via the linuxppc-embedded mail list. See
** This list is shutting down 7/24/2004.

More information about the Linuxppc-embedded mailing list