~/talk

A Dive into Zephyr Device Driver Model

links:none on file
slides:none on file

Zephyr exposes peripherals via a tiny device-driver model wired into the device tree (DTS) so each device provides an init function, a driver API pointer, optional config data and a priority; the build puts objects into device sections ordered at link time across four init levels, avoiding runtime dependency resolution. Drawbacks include failing boots when a device init fails (current hack hides the API), ROM-placement and per-instance hardcoded macros, and string-based lookups costing RAM — work is underway to generate instances from DTS to fix these.

AI-written summary · about

  1. 0:00Introduction
  2. 0:35Back in 2015
  3. 1:32No drivers
  4. 2:26Dedicated driver model
  5. 3:46Structure
  6. 4:34Device Section
  7. 5:11Array
  8. 5:28Device Sections
  9. 6:13Macros
  10. 7:01Boottime subsystems
  11. 11:57kernel economics
  12. 12:43use case
  13. 13:27create instances
  14. 14:11device tree
  15. 16:15device instances
  16. 17:54other improvements
  17. 18:32name thingy
  18. 20:43Any questions
~/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.