一直想搞明白,自从linux开始使用设备树后,从哪里开始加载和bootloadt kenel之间怎么关联,然后总线驱动如何将这些设备挂上去的。
下周开始总结。
先转载一些基本概念:
简介
dts
硬件的相应信息都会写在.dts为后缀的文件中,每一款硬件可以单独写一份xxxx.dts,一般在Linux源码中存在大量的dts文件,对于arm架构可以在arch/arm/boot/dts找到相应的dts,另外mips则在arch/mips/boot/dts,powerpc在arch/powerpc/boot/dts。
dtsi
值得一提的是,对于一些相同的dts配置可以抽象到dtsi文件中,然后类似于C语言的方式可以include到dts文件中,对于同一个节点的设置情况,dts中的配置会覆盖dtsi中的配置
dtc
dtc是编译dts的工具,可以在Ubuntu系统上通过指令apt-get install device-tree-compiler安装dtc工具,不过在内核源码scripts/dtc路径下已经包含了dtc工具;
dtb
dtb(Device Tree Blob),dts经过dtc编译之后会得到dtb文件,dtb通过Bootloader引导程序加载到内核。所以Bootloader需要支持设备树才行;Kernel也需要加入设备树的支持;

---------------------
作者:UncleMac
来源:优快云
原文:https://blog.youkuaiyun.com/u010632165/article/details/89847843
版权声明:本文为博主原创文章,转载请附上博文链接!
本文围绕Linux设备树展开,作者想搞清楚设备树加载、与内核关联及设备挂载等问题,下周将进行总结。文中转载了设备树相关基本概念,介绍了dts、dtsi、dtc、dtb的含义,如dts记录硬件信息,dtc是编译工具,dts经编译得到dtb由Bootloader加载到内核。
971

被折叠的 条评论
为什么被折叠?



