This repo is for kernel enthusiasts for practising Linux driver development. Following is the itinerary:
- Linux Device Driver(Part 1): Linux character driver implementation
- Linux Device Driver(Part 2) | Linux Character Driver Programming | Kernel Driver & User Application
- Linux Device Driver (Part3)| IOCTL Device driver Operation
- Linux Device Driver (Part4) | Proc file system | Linux Device Driver
- Linux Device Driver (Part 5): Interrupt Handling | Linux Device Driver tutorial | Top half
- Linux Device Driver (Part 6)| Tasklets | Bottom Halfs | Static & Dynamic Method
- Linux Device Driver (Part 7) | Spinlocks | Kthread | Using spinlocks in tasklets | Bottom Halves
- Linux Device Driver (Part 8) | Linux Device Driver Tutorial series | Port I/O vs Memory Mapped I/O
- Linux Device Driver(Part 9) | Kernel Timers | Time & Delay | How to use jiffies in the linux kernel
- Linux Device Driver(Part10) Delaying Function | busy waiting| cpu_relax(),Schedule,waitqueue_event()
- Embedded Linux(Part-11) Platform Device Driver | GPIO based test application to test Platform Driver
- Linux Device Driver (Part-12): Linux device driver using Sysfs
- Linux Device driver(Part-13): Mutex in Linux Device Driver
- Linux Device Driver(Part-14) | Workqueue in Linux drivers | Static & Dynamic Method | Own workqueue
- Embedded Linux (PART-10)-I2C Device Driver on BeaglBone Black| I2C Client Driver
- Linux Device Driver (Part-15) | Linux USB Device Driver
- Linux Device Tree (Part-16) Demonstrate with UART Device Driver | Connection between Driver & Device
Note: Not all source codes in the repo. Watch the videos for complete code base.
Tutorial Videos: https://www.youtube.com/channel/UCVZC27C8IHyQ4MDQHD0stww