Search code examples
driverfirmware

Creating drivers and firmware


If I was told I needed to create a driver for some product (say, a game controller), how would I go about creating one? Is this something you could do normally in C/C++?

And what about firmware for external deviced connect to USB? How is this created usually? Is this also done in C/C++, or some lower level language?

Thanks!


Solution

  • I'll add to Amardeep's good answer with the following books that will help you think about the context device drivers operate in, and how they're structured:

    Linux: http://www.amazon.com/Understanding-Linux-Kernel-Third-Daniel/dp/0596005652

    Windows: http://www.amazon.com/Programming-Microsoft-Windows-Driver-Model/dp/0735618038/ref=sr_1_1?ie=UTF8&s=books&qid=1277439434&sr=1-1

    Mac OS: http://www.amazon.com/Mac-OS-Internals-Systems-Approach/dp/0321278542/ref=sr_1_1?ie=UTF8&s=books&qid=1277439467&sr=1-1