Free Software Magazine: Writing Device Drivers in Linux: A Brief Tutorial

[ Thanks to Dave Guard for this
link. ]

“In order to develop Linux device drivers, it is necessary to
have an understanding of the following:

  • C programming. Some in-depth knowledge of C
    programming is needed, like pointer usage, bit manipulating
    functions, etc.
  • Microprocessor programming. It is necessary
    to know how microcomputers work internally: memory addressing,
    interrupts, etc. All of these concepts should be familiar to an
    assembler programmer….”