Devicetree
Un archivo de texto que describe qué hardware tiene una placa, para que el mismo núcleo funcione en muchas placas sin recompilarlo.
En un PC, el sistema operativo descubre el hardware por sí solo mediante PCI y ACPI. En una placa embebida, las UART, los controladores I²C y los GPIO están en direcciones fijas a las que nadie puede preguntar. Durante años Linux lo resolvió con un archivo C por placa, y en 2011 Linus Torvalds perdió públicamente la paciencia con el montón. ARM pasó entonces a devicetree, que PowerPC ya usaba y que tiene raíces en Open Firmware de Sun.
El fuente (.dts) se compila con dtc a un blob binario (.dtb) que el bootloader, a menudo U-Boot, entrega al núcleo al arrancar. Zephyr usa el mismo formato, pero en tiempo de compilación: el árbol se convierte en macros de C y en el firmware final no queda ningún blob.