Zephyr Devicetree Mysteries, Solved
summary
Explains exactly how Zephyr converts DTS into C: bindings provide type info, the build system emits devicetree_on_fixed.h and devicetree_extern.h, and a maze of token‑pasting macros yields node identifiers and property literals with no runtime cost. Shows why resource limits force this design (targets with tens of kilobytes of text), how ordinals map to nodes (example undefined reference to node 105), and how to debug by inspecting preprocessor output.
AI-written summary · about
chapters (11)
- 0:00Start
- 2:40Bindings schemas for nodes
- 4:53Warm up
- 5:33Stretch
- 6:24Backflip
- 10:58Node identifiers
- 11:36Node IDs are not values
- 12:56Properties
- 15:10Docs example
- 18:03This breaks user mode
- 20:21_device_dts_ord_DT_HOT_MESS
related talks
40mDTS 101: From Roots To Trees, Aka Devicetree for Beginners
44mZephyr Build System: Sysbuild and New Hardware Model
10mLightning Talk: Using Zephyr to Power the Sustainable Cloud
37mManifests: Project Sanity in the Ever-Changing Zephyr World
42mTaking Your Hardware to Production with Zephyr RTOS
43mDownstream Zephyr RTOS Release Management - Keeping up With Upstream Pace
29mBuilding Zephyr using Yocto
16mMind the Gap (Between Your Code and Your Toolchain)
