Introduction and Overview
  • Introduction
  • Overview - Some information on Embedded System boards
  • Overview - Topic on Micro-processor vs Micro-controller, SPI)
  • Overview - Host system setup (VMware Workstation Player)
Hello World Device Driver
  • Hello World Exercise - modprobe vs insmod
  • Hello World Character Device Driver
Introduction to TI OMAP 3530 Embedded board and GPIO in Linux
  • OMAP 3530 Demo
  • OMAP - NFS, tftpboot
  • OMAP - Toolchain, Cross-compilation
  • OMAP - uboot, Linux loading on OMAP
  • OMAP - GPIO programming, OMAP backlight
Microchip Pic18F and USB kernel module
  • USB kernel module - USB system explanation
  • USB Kernel Module - Demo
  • USB Kernel Module - QT GUI (User Space) Application
  • USB Kernel Module - Schematic
  • USB Kernel Module - code explained 1
  • USB Kernel Module - code explained 2
  • USB Kernel Module - code explained 3
Introduction to PCI Kernel Module
  • Introduction to PCI Kernel Module - PCI/PCIE system explanation
  • Introduction to PCI Kernel Module - Code Explanation for basic PCI device
  • Introduction to PCI Kernel Module - PCI configuration space and BAR
  • Introduction to PCI kernel Module - Code Explanation Probe function
  • Introduction to PCI Kernel Module - Demo
Psuedo Network Kernel Module
  • Psuedo Network Kernel Module 1
  • Topic: Ping concept
  • Topic: OSI Model
  • Kernel Model Code Explanation 1
  • kernel Module Code Explanation 2
Synchronization
  • Synchronization Overview
  • Synchronization Demo
  • User Space Application Code Explained - POSIX Threads
  • Kernel Module Code Explained
  • Ring Buffer Implementation in Kernel space Explained
BONUS Section: Embedded Linux booting process in ARM
  • Booting process - ARM Registers, Vector table
  • Booting process - Reset, Bootloader
  • Booting process - Linux Image, Program Address space (Data, BSS, Heap, Stack)
BONUS Section: Miscellaneous
  • User and kernel address space: copy_to_user and copy_from_user functions.
  • Tools and building essentials for kernel modules
BONUS Section: Linux Memory Management Technique
  • Custom Memory Driver 1
  • Custom Memory Driver 2
  • Custom Memory Driver 3
  • Custom Memory Driver 4
  • Custom Memory Driver 5