对设备树作用的一些个人理解

首先一句话总结:

        设备树是以一种以树形结构为基础,去进行板级信息描述的文件。作用是为了避免硬件扩展带来的软件冗余。描述了硬件平台的各种设备、总线、中断、内存等信息。

        一个芯片可能会被很多的开发板平台所搭载,在设备树出现之前,开发板的板级硬件信息和开发板上的SOC级信息都被写入同一个.c文件里。也就是说,每多一个开发板,就会多一个.c文件。而这些.c文件都会被编译进Linux的内核,这样就会造成linux信息的冗余。因为不同开发板可能用了同一个芯片,但是两个.c文件都会重复描述这个芯片的SOC信息。

      那么为了减少这种冗余,arm就引入了这个设备树信息。核心就是将这个开发板的板级信息和SOC级信息分开描述,在这里,单独描述开发板板级信息(比如:开发板上有哪些IIC设备等)的文件是.dts文件,而单独描述SOC级信息的文件是.dtsi文件。也就是说,基于ARM架构的SOC制作的每一个板子都对应一个DTS文件,而这个SOC对应的是DTSI文件,作为头文件被引用。

总结如下:

缺点及进步
一个.c文件:包括描述板级信息及SOC级信息比如当需要支持新的硬件平台时,可能需要修改内核源代码并重新编译内核,导致不便于维护和移植性差.
引入设备树以后

".dts" 文件:描述了特定开发板的硬件配置和连接信息,包括板级信息(如具体设备的数量和类型);

".dtsi" 文件:包含了 SOC级的信息,描述了 SOC 的特性和功能,以及 SOC 内部各个设备的配置和连接。

将硬件的结构、配置和属性信息独立出来,与操作系统内核分开,以避免硬件变化引起的软件修改和冗余

通过这种方式,同一个 SOC 的不同开发板可以共享 SOC 级的信息,减少了重复描述,提高了代码的可维护性和复用性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值