YoVDO

How to Avoid Writing Device Drivers for Embedded Linux

Offered By: Linux Foundation via YouTube

Tags

Conference Talks Courses C Programming Courses Embedded Linux Courses Device Drivers Courses

Course Description

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

Tags

Related Courses

UNSW Computing 1 - The Art of Programming
OpenLearning
C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera
Beginning Game Programming with C#
University of Colorado System via Coursera
Introduction to Computing 计算概论A
Peking University via Coursera
Comprendre les Microcontroleurs
École Polytechnique Fédérale de Lausanne via Coursera