ARM Linux 设备树(1)

来源:互联网 发布:社交网络有哪些 编辑:程序博客网 时间:2024/06/16 02:05

设备树的起源

在过去的arm linux中,arch/arm/plat-xxx中mach-xxx中充满大量垃圾代码,多是描述板级细节的信息,在linus 一声怒喝之后,设备树衍生而出。

设备树的组成和结构

  • 描述设备硬件信息的文本
  • 编译该文本的工具
  • bootloader需要支持将编译后的设备树传递给linux内核

DTS文件

  • ASCII文本格式的设备树描述
  • 一般一个。dts文件对应一个ARM设备
  • 通常放在arch/arm/boot/dts目录中
  • 现大部分主控芯片都支持设备树
  • 内核为了简化,对于设备共同的部分提炼为。dtsi文件(类似c的头文件)
  • 文件。dts的基本元素为节点和属性

DTC

  • dtc是将dts编译为dtb的工具
  • 源码位于scripts/dtc目录中,在内核使能了设备树的情况下,编译内核时主机工具dtc会被编译出来
  • scripts/dtc/Makefile中的hostprogs-y:=dtc
  • dtc也可以在ubuntu中单独安装

    sudo apt-get install device-tree-compiler
  • 在arch/arm/boot/dts/Makefile中描述了当某个soc被选中后,哪些dtb文件会被编译出来
  • dtc除了可以编译dts文件生成dtb文件,还可以反汇编dtb文件为dts文件:

    dtc -I dtb -O dts -o xxx.dts xxxx.dtb

dtb

  • 编译后生成的二进制格式的设备树文件
  • 由linux内核解析
  • 内核也支持dtb和zImage绑定在一起做成一个映像文件,内核编译时使能CONFIG_ARM_APPENDED_DTB这个选项,以支持

binding

  • 内核documentation/device/bindings目录下txt文件描述节点和属性具体如何来表述硬件信息。
  • 主要内容包括:
    • 关于该模块的最基本的描述
    • 必需属性的描述
    • 可选属性的描述
    • 一个实例
  • scripts/checkpatch.pl会运行一个检查,对有人在设备树中添加了compatible字符串,二没添加相应的文档进行解释,会报出警告

bootloader

uboot设备从1.1.3开始支持设备树,为了使能设备树,需要在编译uboot的时候在config文件中加入:

#define CONFIG_OF_LIBFDT

- 可从nand、sd或tftp将dtb读入内存
- 可在uboot中运行fdt addr 命令设置dtb的位置如:

uboot》 fdt addr 0x71000000

- * 对于arm来讲,可以通过bootz kernel_addr initrd_address dtb_address 的命令来启动内核,既dtb_address作为bootz或bootm的最后一次参数,第一个参数为内核映像的地址,第二个为rootfs的地址 若不存在iniitrd,可以用-代替。(三者顺序不能乱)*

根节点兼容性

  • 根节点/的兼容属性compatible= ”“,定义了整个系统(设备级别)的名称,组织形式为,
  • linux内黑通过根节点的兼容属性可判断它启动的是什么设备。在真实项目中,这个顶层设备的兼容属性一般包括两个或两个以上的兼容性字符串,首个兼容字符串是板子级别的名字,后面一个兼容性是芯片级别的名字。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 监控视频电脑播放不了怎么办 绝地手游击倒了怎么办? 绝地求生全军出击倒地后怎么办 黑魂3杀了npc怎么办 菜刀背容易割手怎么办 商铺厨房太热怎么办 农村自建房厨房卫生间怎么办 宾利车门不会开怎么办 两岁的宝宝好动怎么办 被别人坏了名声怎么办 在单位混臭了怎么办 在公司名声臭了怎么办 怀孕三个月吐的厉害怎么办 孕38周轻微贫血怎么办 孕38周中度贫血怎么办 孕38周贫血严重怎么办 孕38周有点贫血怎么办 脚被热水烫红了怎么办 学员练车撞死人怎么办 三胎意外来了该怎么办 因为飞机延误耽误行程怎么办 伤了朋友的心怎么办 羊蹄被绳子缠肿了怎么办 新老师教的不好怎么办 跟老公三观不合怎么办 突然有社保补扣怎么办 街头篮球篮板反应慢怎么办 换水了龙鱼顶缸怎么办 压着眼睛睡觉醒来模糊怎么办 天热眼睛有眼屎怎么办 眼睛里膜起来了怎么办 眼睛一边大一边小怎么办 眼白膜鼓起来了怎么办 主持问答环节没人提问怎么办 转学原学校不给怎么办 村长借东西不还怎么办 村长不上报建房申请怎么办 村长不上报建房手续申请怎么办 村长不给村民盖章怎么办? 找村干部办事难怎么办 洪洞县村长不给我盖章怎么办