Linux kernel and device drivers

Linux kernel and device drivers

This course cover basics of Linux kernel and configuration and building and running on the board, Linux kernel data structures, Linux kernel internals like interrupt handling, DMA, PCIA, USB, signing-IPC locking and synchronization, process management, file management, file system drivers, character drivers ,memory management and padding, CPU feature and exception handling, networking stack, power management, blog devices and also covers the device driver basics, developing sample device drivers along with use case project for driver development, PCI, network and FGIA Devices.

 

Career Opportunity

 

.

Summary

Advance c program

  • Advanced C programming with data structure
  • RB tree and AVL tree
  • Sorting and searching algorithms
  • Data structures in Linux kernel
  • Practicing data structures with examples

 

Linux kernel basics

  • Linux kernel and device driver
  • Linux – type of images
  • What is vmLinux, z Image etc
  • Linux image header
  • Booting of Linux kernel in PC
  • Booting of Linux kernel on Raspberry pi
  • Linux kernel startup and boot flow
  • Linux image structure
  • Linux boot code entry.S and head.S
  • Architecture dependent and independent code
  • Kernel source tree structure
  • Spin lock Semaphore, mutex, synchronization
  • Kernel stack
  • Interrupt handling in kernel
  • Timers in kernel
  • Scheduling and scheduling algorithms
  • IO handing in Linux
  • Linux file system process management in Linux
  • File management in Linux
  • Linux event handling framework
  • DMA basics

Linux kernel development porting

  • Linux kernel and DMA implementation
  • Linux kernel soft IRQ
  • Bottom off handler in Linux interrupt handler
  • Linux networking stack
  • RCU implementation with Linux
  • Paging and memory management
  • SLUB, SLAB in Linux
  • Linux block layer
  • Implementing libraries for Linux kernel modifying sub system feature
  • Kernel and scheduling algorithms

 

 

device drivers

  • Linux kernel module programming
  • Loading kernel modules
  • Dep mod, mod probe, INS mod
  • Writing a char driver in Linux(struct file_operations)
  • Writing a GPIO driver
  • Writing a PCIe driver
  • Writing a network driver
  • Example driver project

Share

Scroll to Top