Welcome to HBH! If you have tried to register and didn't get a verification email, please using the following link to resend the verification email.

Programming a driver for linux


Infam0us's Avatar
Member
0 0

I know that a great deal of knowledge is necessary to program a driver for the linux operating system. It takes excellent coding skills (in C) and a good deal of knowledge about the kernel.

I was just wondering if anyone has accomplished such a task and if so was it a long project?
did you do it just for the knowledge of doing so? or to actually utilize it and help out the open source community?

I think it would be fun to gain the knowledge necessary to understand exactly how a driver allows you to directly communicate with hardware or other devices.

or maybe using an already written driver and trying to recreate it using the completed one as a guideline. theres probably some assembly knowledge involved also.. What do you think about a project like this?


ghost's Avatar
0 0

My best guess on how to start a project like this would be to find the some sudo-code or a flow chart. This will help you narrow the project down to a specific type of driver/ programming language/ type of programming. After you understand the programming languages used, llook at some source code.

From what I've heard you will need to know a fair deal of asm. Asm is hardware-specific programming, unlike high level programming, and you will need a good book for asm alone. Usually asm starts with small things like moving aroung data, so big project.

Linux, as always, has nice learning communities and documenation. However, I did a quick glance at some of the related cources and they seem "fluffy" (as in profesional hooplah) and expencive. The books are genrally complex. Unlike too many other fat, heavy, tech books that just have lots of information, skipping around is counter-productive.

Here's a couple asm books I've seen recomended.. http://www.51cnnet.net/ebook/1801-guide-to-assembly-language-programming-in-linux http://www.binrev.com/forums/index.php?s=dd099767b8e7e25d6e4417215c46e5aa&showtopic=38737&pid=317600&st=0&#entry317600 http://www.51cnnet.net/search?q=assembly&commit=Go http://filespot.biz probably has better, but I hate their search function. Narrow your project down before you uise it.

And if you want to chat at all, send me an email at mojohoboyo2@yahoo.com