boxes_img2

Kernel Programming & Embedded Linux

 

Course Highlights

  • This workshop is designed for programmers who are looking to understand the finer aspects of programming on the Linux kernel and Embedded Linux
  • This program is conducted over weekends
  • Program delivered by Mr. Raghu Bharadwaj, lead trainer on Linux Driver programming with an experience spanning over a decade. Trained corporate companies including Xilinx, NCR, Cognizant, TechMahindra, GE, Broadcom, Sasken to name a few

Who should attend?

  • Programmers looking to master key concepts of Linux kernel and Embedded Linux
  • Programmers already working on Linux, but looking for a methodical and concept-clearing professional training on Linux kernel and Embedded Linux
  • Programmers looking for a solid foundation on Linux kernel and Embedded before going deep down into core specialization areas
  • Programmers expecting work assignments based on Linux kernel and Embedded Linux programming

Course pre-requisites

  • Proficiency in C programming
  • Linux programming skills

Course Duration

  • 1.5 weekends (3 full days)

Courses Contents:

1st Weekend

    1. Linux kernel build

  • Kernel source tree
  • Kbuild components
  • Compile and Building new kernel Image
  • 2. Kernel modules

  • Introduction to Modules
  • Types of Modules
  • Module skeleton
  • Building kernel modules
  • Deployment and test
  • 3. Hardware access

  • Device Addresses
  • Port mapped I/O
  • Interacting with port mapped devices
  • Memory Mapped I/O
  • Reserving address space MMIO
  • MMIO Access
  • Device Access side effects
  • Device access from u-space
  • 4. Linux driver models and Architecture

  • Device Drivers defined
  • Linux Driver model
  • Types of Linux drivers
  • Driver stacks

    5. Linux Char driver interface

  • Char driver skeleton
  • Basic driver ops
  • Advanced Driver ops
  • Kernel threads
  • Kernel timers
  • 6. Kernel synchronization mechanisms

  • UP vs. SMP Issues
  • Combating Race Conditions
  • Atomic Operations
  • Semaphores
  • Spin Locks
  • 7. Memory allocations

  • Linux kernel memory subsystem
  • Memory representation data structures
  • Memory Allocators
  • Allocating Boot memory
  • Page Tables and Address Translation
  • 8. Interrupt handling

  • Understanding Interrupts
  • Linux Interrupt handlers
  • Implementing Driver ISR
  • Need for deferred routines
  • Linux Deferred Routines
  • Interrupt event management
  • 9. Block Device subsystem

    10. Network Device subsystem

2nd Weekend

    11. Understanding Embedded Linux

  • Introduction to Embedded Linux
  • Embedded hardware overview
  • Embedded Linux components
  • Embedded Linux distributions
  • 12. Embedded Systems Booting Process

  • Boot process defined
  • Boot loaders
  • Kernel boot
  • User space initialization
  • 13. Building Compiler tool-chain

  • Introduction to cross tool chain
  • Cross compiler tool chain
  • Hardware considerations for cross tool chain
  • Building a cross tool chain
  • Ready to use vs. Custom build cross tool chain

    14.Building Embedded Linux

  • Linux source tree overview
  • Introduction to Kernel BSP code
  • Kernel configuration
  • Kernel build
  • 15. Root file system

  • Understanding Unix file system hierarchy
  • Creating file system
  • Porting application
  • Mounting file system as initrd
  • Integrating file system and kernel image
  • File system for flash
  • 16. Deployment and test on target (hands on)

  • Understanding boot loader environment
  • Transferring images to target using boot loader
  • Flashing kernel image
  • Flashing file system
  • >> Classroom
    • Course Name :
      Kernel Programming & Embedded Linux
    • Next batch schedule :
      TBA
    • Class Timing :
      9:30am to 5:30pm
    • Course Duration :
      Over 2 weekends
    • Course Fee :
      Rs.9,000/-
  • >> Audio/Video
    • Course Name :
      Kernel Programming & Embedded Linux
    • Next batch starts :
      Not Available
    • Class Timing :
      Not Available
    • Course Duration :
      Not Available
    • Course Fee :
      Not Available
  • >> Online

Course feedbacks

Success Stories