Tel No. (+91) 944 501 7608

  Linux Device Driver




    Training Home

Training from the professionals


DEC402 : Linux Device Driver Development Training


Summary
Course code : DEC402
Training Mode : Corporate Onsite, Class Room, Online
Duration : 40 Hrs
Course Fee : Enquire
Registration : Register to confirm the batch.

Linux Device Driver Training in Chennai, Linux Device Drivers Training Bangalore

Overview

DEC402: Linux Device Driver (LDD) course will teach you the different types of Linux device drivers as well as the appropriate APIs and methods through which devices interface with the kernel.

Best Linux Device Driver Training institute in Bangalore

Target Audience

Experienced C programmers with a good understanding of the Linux kernel who want to learn how to develop device drivers for Linux systems.

Best Linux Device Driver Training in Bangalore

Prerequisite

  • Experience in C programming
  • Linux Kernel Internals(SKG201) or equivelent experience

linux device driver Training Centre in Bangalore

Course Objectives

  • Module Programming
  • Device Driver
  • Character Device Driver
  • Intrrupt Handling
  • Advanced File Operation
  • Interacting with Devices
  • Direct Memory Access
  • PCI Drivers
  • USB Drivers
  • Network Device Drivers
  • Introduction to Block Device Drivers
  • Debugging Techniques
  • Other Issues

Course Syllabus

1. Module Programming
  • Kernel Coding
  • Module Programming
  • Module Dependency
  • Module Parameter Passing
2. Character Device Driver
  • Device Drivers
  • Device Driver Design
  • Interacting with Character Device Drivers
  • Interacting with Block Device Drivers
  • Interacting with Network Interface Cards
  • Device Nodes
  • Character Device Drivers: Registration
  • The Device Node Problem
  • File Operations
  • Defining File Operations
  • Registering File Operations
  • File I/O Conventions
  • open
  • close
  • read
  • write
  • lseek
3. Kernel Synchronization methods
  • Source of concurrency
  • Kernel Synchronization techquiques
  • atomic operations
  • semapores
  • mutex
  • spin locks
  • reach copy update
  • memory barriers
  • etc
4. Advanced File Operation
  • IOCTLs
  • IOCTL Conventions
  • Implementing IOCTLs
  • Lockless IOCTLs
  • Sleeping
  • Wait Queues
  • Wait Queues
  • Variations on wait_event()
  • Sleeping in System Calls
  • Multiplexed I/O
  • Polling
5. Interrupt Handling
  • Interrupt Context
  • Handling Interrupts
  • Interrupt Structures
  • ISR Registration
  • System Context
  • Softirqs
  • Deferred Activity: Tasklets
  • Deferred Activity: Work Queues
  • Custom Work Queues
  • Example: Keyboard, Mouse
6. Interacting With Devices
  • Device Interaction
  • Managing Exclusive Access
  • I/O Ports
  • I/O Memory Buffers
  • Accessing I/O Memory Buffers
  • Userspace Drivers
7. Memory Management in Kernel
  • Memory Initialization
  • Memory Management
  • page allocators
  • slab allocator
  • buddy allocator
  • fragment and cache
  • bootmem allocator
  • kmalloc and kfree
  • vmalloc
8. Direct Memory Access
  • Managing DMA
  • Initializing DMA
  • Coherent Allocations
  • Streaming DMA Mappings
9. Introduction to Block Device Drivers
  • Block Devices
  • I/O Scheduling
  • Linux 2.6 Elevator Functions
  • Block Device Driver Implementation
  • Block Device Registration
  • Block Device File Operations
  • The gendisk structure
  • Request Queues
  • Initialization Example
  • Handling Requests
10. PCI Drivers
  • Peripheral Component Interconnect
  • PCI Configuration Space
  • PCI Driver Registration
  • Registering PCI Drivers
  • Driver Probe Function
  • Initializing PCI devices
  • Releasing a PCI Device
  • Managing PCI Resources
  • Accessing Configuration Space
  • Listing PCI Devices
11. Network Device Drivers
  • Networking
  • Network Devices
  • Network Device Callback Functions
  • Network Driver Initialization
  • Network Driver Transmission Queue
  • Control
  • Network Statistics
  • Socket Buffers (Packets)
  • Socket Buffer API
  • Transmission
  • Reception
  • Example Implementations
12. Sysfs, procfs and Debugfs, probing , notifications
  • sysfs intro
  • sysfs entry
  • procfs intro
  • procfs entry
  • debugfs intro
  • debugfs entry
  • probing techniques
  • notifications techniques
13. USB Drivers **
  • The Universal Serial Bus
  • USB Descriptors
  • USB Transfer Types
  • Linux USB Implementation
  • USB Drivers
  • USB Registration
  • Initializing USB Interfaces
  • USB Class Drivers
  • USB Request Blocks
  • Using USB request blocks
  • Synchronous USB Requests
  • More information

Download   Enquire Us

Note:

** These sections may be considered in part or in whole as optional. They contain background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.


linux device driver Training in Bangalore

linux device drives Training in Chennai

linux device drive Training in Chennai

Linux Device Driver Training, Linux Device Driver Training Bangalore