Programming a device driver , any help ?

Need help with C, C++, perl, python, etc?

Programming a device driver , any help ?

Postby GSalah » 2006-08-11 21:20

Dear all , I need to start learning about driver programming on debian linux , please i need resources and books .
GSalah
 
Posts: 56
Joined: 2006-07-30 13:23

Postby Kaitlyn » 2006-08-12 12:51

First, how much programming experience do you have? You need to have already mastered C, at the least. Knowing assembly language would be invaluable, though it'd result in non-portable code. If you do know C, be sure you can write procedures as small and efficient as possible.

What kind of driver are you interested in making? Programming block drivers is different from serial character drivers. You'll need solid knowledge about the device and how it works; a background in electronics would really help.

Pick a similar device and download the kernels of both Linux and Free/Open/Net/DragonflyBSD. Study the Linux driver first, and then see what BSD does differently.
There are those who say the definition of insanity is doing the same thing over and over again, expecting a different result. I can only observe that those people never had dial-up Internet service. -- Frank Cagle
User avatar
Kaitlyn
 
Posts: 129
Joined: 2005-12-13 14:35
Location: Big Orange

Postby GSalah » 2006-08-12 15:10

Dear Kaitlyn , I forgot to tell you , yes I have solid background in C++ programming and assembly, in addition , I'm good in electronics and microsystems , my study is computer system engineer , so don't worry about this side.

My need is to program driver for simple USB system , let a device that convert any integer to binary representation of 8 leds.

My first view , the desired USB system is simple PIC 18F programmed, and the linux system has to send information to that system, which will turn the leds on as needed.

now , can you guide me ?

thats all . thank you
GSalah
 
Posts: 56
Joined: 2006-07-30 13:23

Postby Kaitlyn » 2006-08-12 20:33

It looks like your project is outside the common USB classes, like HID and mass storage. The USBIO class may be what you need. Unfortunately, it doesn't seem to be well supported in Linux now.

Here's what I found that might get you started:
http://www.fexx.org/usbio/classes-en.html
http://www.narimatsu.net/nari_page/musbio.html
http://www50.brinkster.com/iiping/
http://thomashargrove.com/delcom/
There are those who say the definition of insanity is doing the same thing over and over again, expecting a different result. I can only observe that those people never had dial-up Internet service. -- Frank Cagle
User avatar
Kaitlyn
 
Posts: 129
Joined: 2005-12-13 14:35
Location: Big Orange

Postby GSalah » 2006-08-12 20:53

thank you , I will see them and return back to you 8)
GSalah
 
Posts: 56
Joined: 2006-07-30 13:23


Return to Programming

Who is online

Users browsing this forum: No registered users and 5 guests

fashionable