Developing Embedded Linux Device Drivers (LFD435)
If you need to develop drivers for an embedded Linux system this course is for you. This course will enable you to choose the appropriate API to use when writing your device driver; the different kind of devices drivers in Linux and the various Linux sub systems. It will also familiarise developers with cross platform tool chains targeting embedded systems.
Developing Embedded Linux Device Drivers Course Outline
- Cross-Development Toolchain
- QEMU
- Booting a Target Development Board from uSD
- Booting a Target Development Board over Ethernet
- Kernel Configuration, Compilation, Booting
- Device Drivers
- Modules and Device Drivers
- Memory Management and Allocation
- Character Devices
- Kernel Features
- Transferring Between User and Kernel Space
- Platform Drivers
- Device Trees
- Interrupts and Exceptions
- Timing Measurements
- Kernel Timers
- ioctls
- Unified Device Model and sysfs
- Firmware
- Sleeping and Wait Queues
- Interrupt Handling: Deferrable Functions and User Drivers
- Hardware I/O
- Direct Memory Access (DMA)
- Memory Technology Devices (Flash Memory Filesystems)
- USB Drivers