Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Linux Foundation

How to Avoid Writing Device Drivers for Embedded Linux

Linux Foundation via YouTube

Overview

Discover how to avoid writing device drivers for embedded Linux in this informative conference talk by Chris Simmonds. Learn about ready-made drivers for common interfaces and explore practical examples using GPIO, PWM, and I2C subsystems. Gain insights into writing user-space code to control hardware from application environments using C or C++. Watch live demonstrations of each category and benefit from Simmonds' extensive experience in designing and building open-source embedded systems. Explore topics such as the conventional device driver model, application interactions with device drivers, device trees, userspace drivers, and specific interfaces like gpiolib, gpio-cdev, and i2c-dev. Understand how to export and manipulate GPIO pins, work with PWM for LED brightness control, and communicate with I2C devices like light sensors.

Syllabus

Intro
About Chris Simmonds
Conventional device driver model
How applications interact device drivers
A note about device trees
GPIO: General Purpose Input/Output
Two userspace drivers!
The gpiolib systs interface
Inside a gplochip
Exporting a GPIO pin
Inputs and outputs
Interrupts
The gpio-cdev interface
gpio-cdev example 22
PWM: Pulse-Width Modulation
The PWM systs interface
Exporting a PWM
PWM example
12C: the Inter IC bus
The 12c-dev driver
Detecting 12c slaves using cdetect
12C code example - light sensor, addr 0x39
Other examples
What are you missing?

Taught by

Linux Foundation

Reviews

Start your review of How to Avoid Writing Device Drivers for Embedded Linux

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.