zephyr build overview官方说明文档: https://docs.zephyrproject.org/latest/guides/build/index.html

zephyr 也同样采用了设备树来描述板级信息,实际使用上zephyr并不是像linux那样用dtc编译成dtb然后代码中去解析dtb,从官方文档可以看出,zephyr会把dts最终转变成head file来使用的,其中过程如下:

zephyr device-tree

1. c预处理器处理include dtsi 和define的预处理,这一步与linux kernel的编译同样,生成的*.dts.pre.tmp 文件可以用dtc编译成dtb,在zephyr中并没有使用dtb,所以只用来debug

2. dts/bindings 有设备的yaml后缀文件,yaml文件其实也是一种配置文件类型,类似ini,json配置文件,cmake/dts.cmake 调用scripts/dts/extract_dts_includes.py 脚本处理yaml文件,

相关文章: