During this time, I have been working on Android drivers. The underlying Android driver is exactly the same as that of Linux. So I am going to make a special topic here. I will summarize the Linux driver and lay a solid foundation for the next driver development for Android, the general idea is as follows:
I. Linux driver basic development
0. Linux driver basic development 0-Linux
Device Driver Overview
1. Linux driver basic development 1-Linux
Basic concepts of Device Drivers
2. Linux driver basic development 2-Linux
Driver development Prelude (module programming)
3. Linux driver basic development 3-Linux
Kernel configuration mechanism (make menuconfig, kconfig, makefile)
4. Basic Development of Linux drivers 4-Linux character driver model (memdriver memory read/write)
5. Basic Development of Linux drivers 5. Linux Device File registration (devfs, mdev, sys, Proc)
6. Basic Development of Linux drivers 6-Linux gpio driver instance analysis (S3C2440/6410 Io operations)
7. Linux driver basic development 7-Linux 1*3 I/O keyboard driver instance analysis
8. Basic Development of Linux drivers 8-Linux interrupt mechanism explanation and instance analysis (S3C2440/6410 external interrupt mechanism)
9. Linux driver basic development 9-Linux data buffer mechanism (kfifo) Explanation and instance analysis
10. Basic Development of Linux drivers 10-Linux concurrency, synchronization, and mutex (semaphore, mutex lock, and waiting for task queue) Explanation and instance analysis
11. Linux driver basic development 11-Linux periodic events (kernel timer)
12. Linux driver basic development 12-Linux periodic events (kernel threads)
13. Basic Development of Linux drivers 13-Explanation of the select \ poll mechanism
14. Linux driver basic development 14-Linux Exception Handling (kernel signal)
15. Linux driver Basic Development 15-comprehensive application of Linux basic development (2*3 matrix keyboard)
Ii. Linux Driver Model Development
1. Linux Driver Model Development 1-Linux miscellaneous device (MISC) Development and instance analysis
2. Linux Driver Model Development 2-Linux
Platfoem bus mechanism explanation and instance Development
3. Linux Driver Model Development 3-Linux input mechanism (keyboard, touch screen, mouse, etc.)
4. Linux Driver Model Development 4-Linux
Framebuffer LCD display mechanism explanation and instance analysis
5. Linux Driver Model Development 5-Linux
IIC subsystem mechanism explanation
6. Linux Driver Model Development 6-Linux
Explanation of SPI subsystem Mechanism
7. Linux Driver Model Development 7-Linux
RTC Real-Time System Description
8. Linux Driver Model Development 8-Linux
Introduction to the watchdog Subsystem