Submit your enquiry for Linux Device Driver Programming

Please enter valid question or comment

Please enter your name.

Please enter valid Phone Number

Please enter the Pin Code.

By submitting, you agree to our Terms of use and Privacy Policy

Connect With Zilogic Systems

You have reached a limit!

We only allow 20 Tutor contacts under a category. Please send us an email at support@urbanpro.com for contacting more Tutors.

You Already have an UrbanPro Account

Please Login to continue

Please Enter valid Email or Phone Number

Please Enter your Password

Please Enter valid Password or OTP

Forgot Password? Resend OTP OTP Sent

Sorry, we were not able to find a user with that username and password.

We have sent you an OTP to your register email address and registered number. Please enter OTP as Password to continue

Further Information Received

Thank you for providing more information about your requirement. You will hear back soon from the trainer


course photo

Linux Device Driver Programming

Thiruvanmiyur, Chennai


No Reviews Yet
0 Interested

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
There are no Reviews yet. Be the First to Review
Questions and Comments

Thousands of experts Tutors, Trainers & other Professionals are available to answer your questions

Comment ?

Questions Guidelines

  • Start your question with simple statements like "what", "when", "where", or "how".
  • Ensure your question or answer is not offensive or insensitive - it may be voted down or banned.
  • Please provide as much detail as possible as this will allow our members to better understand and respond to your question.
  • Take some time to categorize your question. This will greatly help other users find the question.

You can add upto 6 Images


There are no Reviews yet. Be the First to Review

Date and Time

Not decided yet.

cash back100% Money Back Guarentee

About the Trainer

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.
Seats Left-

Students Interested 0

Course Id: 25258