# Zephyr - Configure Hardware in Devicetree
[TOC]
## References
Note that Zephyr treats devicetree differently than Linux kernel. In Linux kernel, deicetree is compiled to binary blob and is fed to kernel at boot time. Also, nodes in devicetree have their own runtime data structure, see [`device_node`](https://elixir.bootlin.com/linux/latest/source/include/linux/of.h#L51) and related data structures in [`include/linux/of.h`](https://elixir.bootlin.com/linux/latest/source/include/linux/of.h). For Zephyr, everything is determined at compile-time. Zephyr build system generates temporary header files according to devicetree first. These header files offer hardware information whevere source code needs it. It doesn't store devicetree blobs either, otherwise it defeats the purpose of being an RTOS for resource-constrained platforms. See [Build System (CMake)](https://docs.zephyrproject.org/latest/build/cmake/index.html) for more information.
### [Zephyr 101 - Using the Device Tree](https://youtu.be/5UUS44S4kaQ)
{%youtube 5UUS44S4kaQ %}
### [Zephyr 101 - Enable UART & Device Tree Chosen Keyword (12:07 ~ FIN)](https://youtu.be/uAG5EVSWGKs?t=727)
{%youtube uAG5EVSWGKs %}