Linux Device Drivers Training
Understanding the responsibilities and structure of a Linux device. Understanding the development and operating environment for a LDD. Understanding Character drivers, Block drivers and Network drivers. Understanding Debug and Deployment of device drivers. Practical labs.
Five days - 40 hours (8hours a day) 50% of lecture, 50% of practical labs.
Professional device driver developers for Linux
Knowledge of C programming In particular, participants must be familiar with creating and dealing with complex data types and structures, with pointers to such symbols, as well as with function pointers. Advance C training agenda is available at http://www.minhinc.com/training/c/advance-c-slides.php can be dowloaded from http://www.minhinc.com/training/advance-c-slides.pdf Knowledge of system programing Concepts In particular, participants must be familiar with various aspects of system programming, i.e. File System, Process management, Virtual memory management, IPC, Signals etc. Linux internals training agenda is available at http://www.minhinc.com/training/li/advance-li-slides.php can be downloaded from http://www.minhinc.com/training/advance-li-slides.pdf
Raspberry pi 3, Ubuntu 16/17 LTS
This course gives developers the knowledge of design, write and debug linux device drivers. All examples are written and executed on Raspberry Pi3 hardware with Raspibian (flavour of Debian) OS installed. All cross compilation will be done on Ubuntu 16/17 LTS.
Lecture session will be course content presentation through the trainer. Any source code example related to the topic will be demonstrated, it would include executing the binaries. Complete lecture material can be downloaded from http://www.minhinc.com/training/advance-ldd-slides.pdf
Labs session would be completely hands on session where each example (with example data and execution instruction) would be provided to the students. Students can verify their results with the results provided in the material.
Day 1 Morning
Day 1 Afternoon
Day 2 Morning
Day 2 Afternoon
Day 3 Morning
Day 3 Afternoon
Day 4 Morning
Day 4 Afternoon
Day 5 Morning
Comparison to Block and Character Drivers.
Exploring the skelton Driver - stage 1
Connecting to the kernel
Opening and Closing
Exploring the skelton Driver - stage 2
The Interrupt Handler
Receive Interrupt Mitigation
Changes in Link state
The virtual Network Interface
Day 5 Afternoon