Latest LQ Deal: Linux Power User Bundle
Go Back > Forums > Linux Forums > Linux - General
User Name
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.


  Search this Thread
Old 09-12-2003, 07:08 PM   #1
LQ Newbie
Registered: Aug 2003
Location: California
Distribution: RedHat
Posts: 28

Rep: Reputation: 15
Help with learning drivers programming!

I've been trying to learn how to program linux drivers and I've tackled it by starting to read "Linux Device Drivers" book by Alessandro & Jonathan but I'm at my 3rd chapter and not much is soaking in.

I'm a hands-on person and like learning while debugging issues.. could somebody refer to simple drivers I could look into?

or if you've been thru this learning process and know a good way of enjoying it, please share.. I'm a newbie in Linux kernel/device driver programing but have low-level programming background.

Old 09-12-2003, 09:59 PM   #2
Registered: Oct 2002
Location: Stoughton, MA
Distribution: Gentoo x86_64 & PPC
Posts: 949

Rep: Reputation: 30
Best of luck to you

If anything could improve on this already great os it's drivers!!!
Old 09-13-2003, 06:42 AM   #3
LQ Newbie
Registered: Sep 2003
Location: Mesa, AZ, USA
Distribution: SuSe 8.1, Mandrake 6.2
Posts: 12

Rep: Reputation: 0

I don't know if my reply to you will be of much help.

Basically, there is a saying that I use a lot ....
"Before you can run, you must learn to walk"

I propose to you that the difficulties you are encountering in learning about Linux device driver programming are due to the fact that you are trying to run before you can walk.

I suggest you identify an area where to get involved in that will lay the groundwork for your eventual jmp to device driver programming.

For sure, you need a very solid background in C. You'd also probably need familiarity with PC hardware and how the various peripherals interface with the CPU/motherboard.

To summarise: Familiarise yourself with the basics. Hopefully, this will be a better platform from which to launch yourself into the very interesting field of Kernel hacking.

Good luck!
Old 09-13-2003, 07:03 AM   #4
Registered: Jul 2003
Distribution: openSUSE Linux, Apple Darwin UNIX
Posts: 66

Rep: Reputation: 15
I'm interested in learning to make device drivers too, but I also don't know where to start. I already know how to make simple programs in C++ (but not C, unfortunately), and have taken a college course in Java (which I don't like cause it's SLOW!). I've also skimmed through the Linux Device Drivers book in bookstores more than a time or too, but the stuff in it just looks like a different langauge to me. I love C++, but hate Java, and have been wanting to learn C for quite a while. In my Java class we spent some time learning about how CPUs and memory work, and of course the history of computers, but I'm kind of in the same predicament where I don't know how to find info about making your own drivers, or what you need to know in order to even learn how to make drivers. I've had a similar problem with XWindow programming; lot's of tutorials on the net about Motif and all that related stuff, but not much on just pure straight Xlib programming. Where do people learn this stuff?
Old 09-13-2003, 12:36 PM   #5
LQ Newbie
Registered: Aug 2003
Location: California
Distribution: RedHat
Posts: 28

Original Poster
Rep: Reputation: 15
to Richhill


thanks for your reply but I'm experienced in embedded software programming.. coming more from industrial RTOS such as VxWorks and pSOS. And about hardware knowledge, I do have good background but what bugs me is the style in which Linux is presenting its drivers.

Will have to hurt a bit but I'm confident I'll eventually get it.

Old 09-13-2003, 06:43 PM   #6
Registered: Jun 2003
Location: Durham, UK
Distribution: Slackware 9, Mandrake 9.1
Posts: 163

Rep: Reputation: 30
iv had a similar problem really.

Iv a solid background in C++, and i was doing a bit of Java. Im interested on coding Linux Device Drivers, so i went out and bought the 2 O'Reilly books "Understanding the Linux kernel" and "Linux Device Drivers"

i found a lot of it difficult to follow, and i got to the stage that i wasnt sure if i was reading it or just turning pages. I took a step back and thought i should do some more pure C, so i bought "The C Programming Language" (i think its called that)

My problem is that im familiar with Linux (not so much the kernel), familiar with C/C++, but im not good with Hardware. Hopefully its something il improve on in the following months/years.

I find a lot of it really boring though when im reading it, but i think thats because iv spent almost every night for months reading books on programming/linux/certifications that im burning myself out. 1 year ago i was completely new to it all, iv come a long way though (to put it another way, 1 year ago id never heard of Linux, didnt know what a Shell was, and didnt realise C++ or Java existed)
Old 09-13-2003, 06:50 PM   #7
Registered: May 2003
Location: S.W. Ohio
Distribution: Ubuntu, OS X
Posts: 760

Rep: Reputation: 30
I found these by searching google(programming drivers). Maybe they will help you understand the basics in a differant way. slides/linux_driver1.pdf slides/linux_driver2.pdf


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
learning programming nin881 Programming 13 10-19-2005 12:17 AM
C programming learning introuble Programming 7 01-03-2005 11:55 AM
learning programming properly antken Programming 8 03-17-2004 10:18 PM
Help with learning drivers programming! fbarre Programming 1 09-16-2003 12:10 PM
learning game programming FLuff_Suit Programming 2 05-07-2002 09:04 PM > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 04:04 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration