设备树
.c文件中定义资源的缺陷在于,每次我们去修改资源,修改引脚的时候,都需要去重新编译驱动程序,重新安装驱动程序,后来引入了设备树

对应的程序中的结构,/为Root(根节点)
CPU、I2C控制器等都是设备树的子节点,AT24C02是I2C的子节点

使用设备树的原因:每款芯片都会有很多不同的单板使用它,这样子每个单板都有自己的资源.c文件,引脚不相同,需要重新编译和包含了大量无用的代码,所以采用配置文件的方式加入内核(DTS)

芯片厂家一般会提供一个基础的设备树xxx.dtsi,其他的单板A或单板B只需要include该文件,然后程序中可以引用相关设备的标签,来选择开启 或者关闭一些设备(如这里的uart0),只需要修改它们的
设备树:解决硬件配置灵活性与驱动管理的革命

本文介绍了设备树在IT技术中的应用,解决了传统C文件管理硬件资源的缺陷,通过DTS配置文件和设备树节点的匹配机制,提高了驱动程序的灵活性和代码效率。重点讲解了设备树在platform_device和bus配对中的变化,以及内核如何处理设备树并转换为device_node结构体。
最低0.47元/天 解锁文章
4536

被折叠的 条评论
为什么被折叠?



