dts、dws文件介绍

本文详细介绍了dts文件在设备驱动中的作用,它是硬件描述的语言,描述了CPU、内存、外设等硬件信息。dtsi是设备树源码的包含文件,dtb是设备树二进制文件,用于Bootloader加载。设备树使得驱动与硬件信息解耦。同时,文章还探讨了GPIO的配置,包括模式、上拉下拉、默认方向等参数,强调了配置的灵活性和可移植性。
摘要由CSDN通过智能技术生成

1.dts文件

dts即device tree source设备树源码,DeviceTree是一种描述硬件的数据结构,由一系列被命名的结点(node)和属性(property)组成,而结点本身可包含子结点。
所谓属性,就是成对出现的name和value。在Device Tree中,可描述的信息包括(原先这些信息大多被hard code到kernel中):

  • CPU的数量和类别
  • 内存基地址和大小
  • 总线和桥
  • 外设连接
  • 中断控制器和中断使用情况
  • GPIO控制器和GPIO使用情况
  • Clock控制器和Clock使用情况

它基本上就是画一棵电路板上CPU、总线、设备组成的树,Bootloader会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出Linux内核中的platform_device、i2c_client、spi_device等设备,而这些设备用到的内存、IRQ等资源,也被传递给了内核,内核会将这些资源绑定给展开的相应的设备。

dtsi文件:linux内核为了简化,把soc公用的部分或者多个machine共同的部分提炼为dtsi,类似于语言的头文件,其他machine对应的dts就include这个dtsi,dtsi也能include其他dtsi.

dtb(Device Tree Blob)文件:dts经过dtc编译之后会得到dtb文件,dtb通过Bootloader引导程序加载到内核。所以Bootloader需要支持设备树才行;Kernel也需要加入设备树的支持;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值