三、设备树

一、设备树。
一般.dts 描述板级信息(也就是开发板上有哪些 IIC 设备、 SPI 设备等), .dtsi 描述 SOC 级信息(也就是 SOC 有几个 CPU、主频是多少、各个外设控制器信息等)。
二、DTB,DTC
dtb是dts被DTC编译后生成的二进制格式Device Tree描述,可由Linux内核解析。系统设计时通常会单独留下一个很小的flash空间存放.dtb文件,bootloader在引导kernel的过程中,会先读取该.dtb到内存。
三、解析dts
在Linux的BSP和驱动代码中,解析dts的API通常被以“of_”作为前缀,它们的实现代码位于内核的drivers/of目录
四、根节点属性compatible
Linux 内核会通过根节点的 compoatible 属性查看是否支持此设备,如果支持的话设备就会启动 Linux 内核.
4.1、使用设备树之前设备匹配方法
Linux 内核是支持很多设备的,针对每一个设备(板子),Linux内核都用 MACHINE_START和 MACHINE_END来定义一个 machine_desc 结构体来描述这个设备
4.2、使用设备树以后的设备匹配方法
当 Linux 内 核 引 入 设 备 树 以 后 就 不 再 使 用 MACHINE_START 了 , 而 是 换 为 了
DT_MACHINE_START。DT_MACHINE_START 也定义在文件 /arm/include/asm/mach/arch.h
里面。
machine_desc 结构体中有个.dt_compat 成员变量,此成员变量保存着本设备兼容属性
4.3、Linux 内核通过根节点 compatible 属性找到对应的设备的函数调用过程
在这里插入图片描述
4.4、设备树在系统中的体现
Linux 内核启动的时候会解析设备树中各个节点的信息,并且在根文件系统的/proc/devicetree 目录下根据节点名字创建不同文件夹和文件,可以查看相应的内容
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值