Linux Programming
Interesting articles
- How not to write a device driver? (common issues in device drivers) http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf
- Discussion on "goto" between Linus Torvalds, Rob Wilkens and Robert Love: http://kerneltrap.org/node/553/2131
- Driving Me Nuts - Things You Never Should Do in the Kernel: http://www.linuxjournal.com/article/8110
- Kernel system calls: http://www.linux.it/~rubini/docs/ksys/ksys.html
- Kernel Korner - Sleeping in the Kernel: http://www.linuxjournal.com/node/8144/print
Device driver interests
- Memory management, mmap and DMA: http://www.xml.com/ldd/chapter/book/ch13.html#t1
- The Linux Kernel Module Programming Guide: http://tldp.org/LDP/lkmpg/2.6/html/
- USB drivers (usb-host): http://lwn.net/images/pdf/LDD3/ch13.pdf
- Linux USB gadget API
- Framework: http://www.linux-usb.org/gadget/
- API references: http://www.gnugeneration.com/books/linux/2.6.20/gadget/
- Driver structure and OTG: http://tali.admingilde.org/linux-docbook/gadget/index.html
- Linux Kernel API: http://www.cs.bham.ac.uk/~exr/teaching/lectures/systems/08_09/docs/kernelAPI/
- Platform devices and drivers: http://www.kernel.org/pub/linux/kernel/people/mochel/doc/text/platform.txt
- Dispatching Hardware Events in a Multi-Threaded Linux Application: PDF
Traces and debugging
- Kernel Hard and soft panics: http://rhcelinuxguide.wordpress.com/2006/06/01/linux-kernel-panic-prevent-cardiac-arrest/
- Driver debugging methods (printk, /proc, ioctl, strace, kdb, kgdb, schedule(), UML, LTT): http://lwn.net/images/pdf/LDD3/ch04.pdf
- KGDB for ARM (modules/apps): http://kgdb.linsyssoft.com/quickstart.htm#mozTocId440917
- ARM RealView debugger (images): http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0153i/Babjdfba.html
- KDB usage: http://www.ibm.com/developerworks/linux/library/l-kdbug/
- KDB front-end for kgdb: http://lwn.net/Articles/332611/
- process trace (ptrace system call): http://linux.die.net/man/2/ptrace
- Use DebugFS to quickly export kernel data to userspace: http://kerneltrap.org/node/4394
Books
- The Linux Kernel: http://tldp.org/LDP/tlk/tlk-toc.html
- Understanding the Linux Kernel: PDF
- Linux Device Drivers 3rd Edition: Link
- Linux System Programming: http://oreilly.com/catalog/9780596009588 (View Online)
- Advanced Linux Programming: http://www.advancedlinuxprogramming.com/alp-folder
- The Linux Programmer's Guide: http://tldp.org/LDP/lpg/node1.html
![]() |
![]() |
![]() |
![]() |
page revision: 12, last edited: 24 Jun 2010 04:48