LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Help with learning drivers programming! (https://www.linuxquestions.org/questions/linux-general-1/help-with-learning-drivers-programming-92157/)

fbarre 09-12-2003 07:08 PM

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.

thanks,

Scruff 09-12-2003 09:59 PM

Best of luck to you :)

If anything could improve on this already great os it's drivers!!!

richhill 09-13-2003 06:42 AM

fbarre,

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!

LUB997 09-13-2003 07:03 AM

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?

fbarre 09-13-2003 12:36 PM

to Richhill
 
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.

thanks,

Tesl 09-13-2003 06:43 PM

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)

twilli227 09-13-2003 06:50 PM

I found these by searching google(programming drivers). Maybe they will help you understand the basics in a differant way.

www.csee.umbc.edu/~plusquel/310/ slides/linux_driver1.pdf
www.csee.umbc.edu/~plusquel/310/ slides/linux_driver2.pdf
http://www.linuxhq.com/lkprogram.html
http://www.oreilly.de/catalog/multil...pt/ch14-01.htm


All times are GMT -5. The time now is 01:09 AM.