关键词不能为空

当前您在: 主页 > 英语 >

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)设备树简介的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文