~/talk

How to Avoid Writing Device Drivers for Embedded Linux

slides:none on file

Explains how to avoid kernel drivers by using concrete user‑space interfaces: GPIO sysfs export (write numbers to export, read/write value, set edge and poll for interrupts), gpiochip character device with ioctl for atomic multi‑line control, PWM period and duty in ns via /sys/class/pwm export/enable, and i2c-dev ioctl to talk to devices (example: Adafruit ambient‑light sensor at 0x39 — register 0x8A returns 0x50). Covers UIO for mapping device registers, notes DMA and kernel subsystems remain reasons to write kernel drivers.

AI-written summary · about

  1. 0:00Intro
  2. 0:12About Chris Simmonds
  3. 0:54Conventional device driver model
  4. 1:43How applications interact device drivers
  5. 4:15A note about device trees
  6. 5:03GPIO: General Purpose Input/Output
  7. 6:10Two userspace drivers!
  8. 7:23The gpiolib systs interface
  9. 9:25Inside a gplochip
  10. 10:11Exporting a GPIO pin
  11. 10:47Inputs and outputs
  12. 12:06Interrupts
  13. 13:33The gpio-cdev interface
  14. 15:36gpio-cdev example 22
  15. 18:49PWM: Pulse-Width Modulation
  16. 20:26The PWM systs interface
  17. 22:09Exporting a PWM
  18. 23:12PWM example
  19. 23:5512C: the Inter IC bus
  20. 25:53The 12c-dev driver
  21. 26:53Detecting 12c slaves using cdetect
  22. 29:5512C code example - light sensor, addr 0x39
  23. 31:05Other examples
  24. 33:36What are you missing?
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.