Course Outline

Developing Embedded Linux Device Drivers

  1. Introduction
  2. Preliminaries
  3. Cross-Development Toolchain
  4. Basic Target Development Board Setup
  5. Booting a Target Development Board over Ethernet
  6. Kernel Configuration, Compilation, Booting
  7. Device Drivers
  8. Modules and Device Drivers
  9. Memory Management and Allocation
  10. Character Devices
  11. Kernel Features
  12. Transferring Between User and Kernel Space
  13. Platform Drivers
  14. Device Trees
  15. Interrupts and Exceptions
  16. Timing Measurements
  17. Kernel Timers
  18. ioctls
  19. Unified Device Model and sysfs
  20. Firmware
  21. Sleeping and Wait Queues
  22. Interrupt Handling: Deferrable Functions and User Drivers
  23. Direct Memory Access (DMA)
  24. Memory Technology Devices
  25. USB Drivers