Signup as a Tutor

As a tutor you can connect with more than a million students and grow your network.

"Linux Device Driver Programming " is no longer available

No Reviews Yet

Thiruvanmiyur, Chennai

Course ID: 25258

Thiruvanmiyur, Chennai

No Reviews Yet

About the Course

The course aims at teaching the basics of device driver programming for the Linux kernel. The course covers LED driver, input driver and char device driver development. The course is taught on an ARM board with simple devices like the GPIOs, LEDs, seven segment displays, keypads, temperature sensors and EEPROM devices. The goal is to focus on learning the kernel interface, while still programming real hardware.

Since device driver development requires knowledge in varied disciplines, a quick review of the fundamentals of file IO, filesystems, microprocessors and kernel modules is included.

Topics Covered

File I/O

File Descriptors

Opening and Closing Files

Reading and Writing to Files Sequentially

Reposition Read/Write File Offset

File Tables and File Descriptor Tables


Filesystems Internals - inodes, dentry

Pseduo filesystems - proc, sysfs

Introduction to Devices

Device Interfacing

Controlling LEDs from Userspace

Controlling Seven segment displays

Accessing Drivers

Unix/Linux Device Abstraction

Device Files

Types of Drivers

Mouse Device Access

Sound Mixer Device

Kernel Compilation and Kernel Modules

Kernel Compilation

Kernel configuration

Building the kernel

Booting from the new kernel

Kernel Modules



Listing, Loading, Unloading

Writing Kernel Modules

Module Programming vs Application Programming

Hello World Module

Module Programming Basics


Loading and Unloading

Module Parameters

Input Drivers

Kernel Timers

System Ticks

Scheduling timers

Keypad Input driver

Char Drivers

Major and Minor Numbers

Data Structures

File Operations Structure

File Structure

Registering Char Driver

Seven segment display

Debugging Techniques

Debugging by Printing

Kernel Log Mechanism

Turning on/off Debug Messages

Rate Limiting

Debugging by Querying


Debugging by Watching


Debugging System Faults

Decoding Oops

Recovering from a System Hang

Interrupts and Blocking I/O


Installing Interrupt Handlers

Blocking I/O

Process states

Wait Queues

Concurrency and Locking

Sources of Concurrency



Common Locking Problems

Atomic Variables

Device Model

I2C and SPI bus

Bus Model

Device and Driver Binding

Module Autoloading

Who should attend

engineering professionals, Students from Electronic, Electric and Computer Science and also freshers ,interested in embedded programming


C Programming

Programming in GNU/Linux


What you need to bring

note and pen

Key Takeaways

Knowledge on linux device driver
How Corporates work

Date and Time

Not decided yet.

About the Trainer

5 Avg Rating

5 Reviews

1 Students

0 Courses

Vijay kumar

linux architect

Vijay Kumar is a GNU/Linux enthusiast, with over 8 years experience in embedded software and the Linux kernel. His technical skills include Linux device driver programming, Linux GUI programming, system administration and web design. His work experience includes terminal server software development, user interface design for handhelds and device driver development for telecom switches. Vijay holds a B.Tech. in Electronics and Communication Engineering from NIT, Trichy, India.


No reviews currently Be the First to Review


Post your requirement and let us connect you with best possible matches for Linux Training Post your requirement now is India's largest network of most trusted tutors and institutes. Over 25 lakh students rely on, to fulfill their learning requirements across 1,000+ categories. Using, parents, and students can compare multiple Tutors and Institutes and choose the one that best suits their requirements. More than 6.5 lakh verified Tutors and Institutes are helping millions of students every day and growing their tutoring business on Whether you are looking for a tutor to learn mathematics, a German language trainer to brush up your German language skills or an institute to upgrade your IT skills, we have got the best selection of Tutors and Training Institutes for you. Read more