设备树的起源
一堆乱七八糟的板级硬件信息都放在内核的arch/arm里面,导致内核太虚胖,从而引入设备树DTS(Device Tree Source)
Device Tree是一种描述硬件的数据结构,用时实现驱动代码与设备信息分离;
DTS文件采用树形结构描述板级设备,也就是电路板上的硬件设备信息,比如CPU数量、内存基地址、IIC接口上接了那些设备、SPI接口上接了那些设备;
DTS文件描述设备信息有相应的语法规则;
设备树文件的扩展名为.dts,一个.dts对应一个电路板,一般放在内核的arch/arm/boot/dts目录下;
对于一些相同的dts配置可以抽象到dtsi文件中,dtsi文件其实类似于C语言中的.h文件,可以使用C语言中的的include来包含.dtsi文件
dtc (device tree compiler)也就是设备树文件.dts 文件的编译器,将.c文件编译为.o文件需要用到gcc编译器,将.dts文件编译为相应的二进制文件则需要dtc编译器;
dtc工具在Linux内核的scripts/dtc目录下,编译了内核源码之后才生成。
dtb文件就是将.dts文件编译成二进制数据之后得到的文件
dts语法:
我们基本上不会从头到尾写一个dts文件,大多数是直接在SOC厂商提供的.dts文件上进行修改;
但是语法还是必须要学习的,以方便修改dts
分类:
ZYNQ-Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通