和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信科技

您的当前位置: 和记娱乐主页 > 通信科技 >

设备树是什么?内核配置都离不开它

发布日期:2019-11-02 07:05 来源:和记h88 发布人:和记娱乐 点击:

  该配置文件采用类似Jason的语法,来表述各个类型的硬件参数信息,如cpu、memory、nand、lcd等,

  每个硬件类型可以通过node来描述,node里面可以包括property和child node,以此类推。

  ‘/’是根节点,model和compatible是属性,cpus是根节点的子节点,而它也有子节点cpu@0。

  u-boot通过ATAGs标签的形式,把少量的参数放到内存的某个,在加载内核时,把该参数地址传给内核。内核根据该参数来去对应的设备文件中找到对应的设备函数,一般这些设备相关的程序都放在arch/arm/mach-*类似的目录下,里面有非常多的.c文件来描述该板卡的硬件信息,如cpu、nand等。这样一来,就导致了内核代码量急剧增加,老大linus,设备树应运而生。其实,在此之前powerPC就已经使用了设备树,全志也使用fex文件表述设备信息,思想都一样的。

  设备树引入后,通过dtc编译器编译成dtb二进制格式,存储在Nand中。u-boot加载内核时也会加载dtb,这样内核在初始化阶段会根据dtb的内容进行相应的初始化,并且动态生成平台设备。注意是动态而非之前的静态,这就是最重要的区别,如此设备相关的代码骤减。

  当然,平台驱动相应的也需要做些修改,如加上设备树的判断,如果是使用设备树,则调用设备树相关的接口来获取硬件信息,否则,使用老的接口来操作。设备树中节点是通过compatible属性来描述对应的驱动。通用的硬件可以使用通用的节点名,如cpu,memory,这些是在内核初始化阶段用到的,必须统一。而板卡相关的内容,可以私人定制,只要对应的驱动统一起来即可。

  资料 肯定是官网。但是官网的spec也只是入门,不太具有实战性。 内核源码中的资料,Documentation/devicetree目录下有非常详细的描述。 arch/arm/boot/dts有非常多的dts,选择一个,结合两处的资料进行详细研究。

      和记娱乐,和记h88,h88平台官网