关键词不能为空

当前您在: 主页 > 英语 >

Linux内核驱动基础(5)设备树简介

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-02 11:07
tags:

-

2021年2月2日发(作者:message是什么意思)




arm- linux


内核设备树来源







arm-li nux








arch/arm/plat- xxx



arch/arm/mach-xxx


等目录下边充斥着大量的垃圾代码,相当多数的


代码只是在描述板级细节信息 ,


而这些板级细节信息对于内核来说都


是垃圾代码,

< p>
比如板上的



platform_device




resource




i2c_board_info




spi_board_info


以及各种硬件的



platform_data.


为了改变这种局面,


ARM


社区开始使用



PowerPC


等其他体系架


构下已经使用的


Flatte ned


Device


Tree(FDT).


Device


Tree


是一种描述


硬件的数据结构,


它起源于


OpenF irmware(OF).


采用



Device Tree


后,


许多板级 细节信息可以直接通过


Device Tree


传递给



linux


内核,


而不


需要在


ar ch/arm/plat- xxx



arch/arm/mach-xxx


中进行大量的冗余编


码,内核启动时会展开


Devic e


Tree


并创建和注册相关的设备


(


比如


platform_device



i2c_client



spi_ device)



同时驱动程序也会以新的方

< br>式和


Devie Tree


中定义的设备结点进行匹配


. Device Tre e


的主要优势:


对于相同


SOC


的不同板卡,


只需更换设备树文件


.dtb< /p>


即可实现不同板


卡的无差异支持





arm- linux


内核设备树简介



Device


Tree


由一系列被命 名的结点


(node)


和属性


(pro perty)


组成,


而结点本身可包含子结点,所谓属性其实就 是成对出现的


name



value.



Device Tree


中可描述的细节信息包括



system runtime


参数


(


主要设置


bootargs)


cpu


的数量和类别



memory


基地址和大小


(


设置


DDR


内存


)


总线控制器和桥



总线外设



内核基础设施使用情况,比如:



中断控制器和中断使用情况



DMA< /p>


控制器和


DMA


使用情况



GPIO


控制器和


GPIO


使用情况



CLOCK


控制器和


ClOCK


使用情况



PINCTRL


控制器和


PINCTR L


使用情况



从上述信息可知


Device


Tre e


并不能描述所有硬件信息,一般可以动


态识别的设备


(



usb


设备,


pci


设备


)


是不 需要设备树进行描述,


它们


是在设备热插拔时,由内核自动进行 探测



设备树包含


DTC(device tree compiler)




DTS(device tree source)




DTB(device tree binary)


,其对应关系如下图


1


所示:

























1


下面简单描述



.dts


文件



.dtb


文件和


DTC


.dts


文件是一种


ASCII

文本文件,放置在


arch/arm/boot/dts


目 录


.


由于每个


SOC

< br>可能有多个不同的电路板,每个电路板都有一个


.dts


文件,


这些



.dts


文件势必会存在许多共同部分,


Linux


内核为了简化,



SOC


公用的部分或者多个


machine


共同的部分保存到



.dtsi


文件中,


供不同的


.dts

< br>文件引用


.


例如



引用了




此时



中会有如下行:


#include



告诉


编译器



需要引用


.


类似于


C


语言的头


文件,


.dtsi


也可以



include

< p>
其他的


.dtsi


,例如几乎所有


ARM SOC



.dtsi


都引用了





DTC


为编译工具,它可以将


.dts


文件编译成


.dtb


文件,

< p>
DTC


的源


码位于


scr ipts/dtc


目录,


在内核


arc h/arm/boot/dts/Makefile


中,


描述


了某个



SOC

被选中后,哪些


.dtb


文件会被编译出来,


例如与



VEXPRESS


对应的


.dtb


包括:



dtb-$$(CONFIG_ARCH_VEXPRESS) +=





从 上述


Makefile


可知,若选择


C ONFIG_ARCH_VEXPRESS


,上述


< p>
.dtb


文件,都会从对应的


.dts

< p>
文件编译生成



bootloader

< p>
在引导内核时,会预先读取


.dtb


文件到内存, 进而由


内核解析





arm- linux


内核设备树语法



下面以最简单的


machine


为例来看如何编写


.dts


文件,假设此



machine


的配置如下:



双核


ARM Cortex-A9


处理器



2


个串口


(


分别位于


0x101F1000



0x101F2000)


GPIO


控制器


(

< br>位于


0x101F3000)


SPI


控制器


(


位于


0x101F4 000)


I2C


控制器


(


位于


0x101F5000)


I2C


控制器连接了



maxim DS1338


实时钟


(i2c


地址为


0x58)


中断控制器


(

< p>
位于



0x10100000)






2


上图


2


即一个简单的设备树,下面着重分析相关概念



compatible


属性



.dts


文件的每个设备结点,


都有一个


compatible


属性,


该属性用来决定


device_driver



dev ice


的相互匹配


.


compati ble


是一


个字符串列表,列表的第一个字符串表征了结点所代 表的确切设备,


该字符串的组织形式为:


<


制造商


>


<


型号


>



,其后的字符串则表示


与它兼容的设备


.



如上图


2


所 示串口设备的


compatible


属性为





ti



omap4-uart




,表示该设备节点是


omap4

< p>
芯片的串口设备




比如 飞


思卡尔



mpc8349

< p>



拥有


一个兼



美国国


家半导



ns16550


的串口设备,那么该串口设备的

compatible


属性应该是:

-


-


-


-


-


-


-


-



本文更新与2021-02-02 11:07,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/599241.html

Linux内核驱动基础(5)设备树简介的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文