Linux内核在2011年后开始转换到DTS配置的方式。详细的device tree source (设备树)相关的文档请参考Documentation/devicetree/bindings相关文档。其中提到DTS可以很多人会比较陌生。其实不用陌生,很多人知道.config文件吧。其实DTS文件有点config文件的味道。只是配置方式不一样而已,DTS 是用来配置内核的,主要配置内核相关的一些系统级以及板级的配置。
DTC编译器,关于DTC编译器就是将DTS文件,可读性强的字符串文件编译成机器可识别的bin文件。
很多人初次接触,觉得DTS是什么东西?DTB又是什么东西?u-boot怎样加载DTB文件的?内核怎样调用DTB文件的?这一系列的疑问马上出来了。DTS是一个内核设备配置树。所谓的设备树就是,把通过compatible能识别的东西进行组织,在内核启动过程中通过of_table函数进行识别。然后加载到内存中去进行配置板子的方式。这些配置文件会预先存在内存中,当识别的时候就会去写对应的寄存器。u-boot对应于每张板子在u-boot的配置文件里面,可以修改amxx.dtb的文件名。进行加载和识别。