在根文件系统中查看设备树,是一种不错的调试手段。因为很多时候会出现你修改了 dts 文件,并且也编译了新的 dtb,但是下载到板子上的还是以前的dtb,因此查看板子中真实生效的设备树配置信息是很重要的。
1、设备树原始 dtb 格式
在如下目录,fdt 就是我们的 设备树*.dtb文件
/sys/firmware/fdt //原始dtb文件
执行以下指令可看
hexdump -C /sys/firmware/fdt
这个命令打开后是十六进制模式,如图:
这样是很难看到真实配置的,可以把 fdt 弄出来,放到 ubuntu 中,使用 Linux 源码自带的 DTC
工具反编译,查看真实的配置。反编译命令为
/script/dtc/dtc -I dtb -O dts -o xxx.dts xxx.dtb
DTS 是设备树源码文件,DTB 是将 DTS 编译以后得到的二进制文件。将 .c 文件编译为 .o 需要用到 gcc 编译器,那么将.dts编译为.dtb 需要什么工具呢?需要用到 DTC 工具!反编译也是这个工具,反编译后可以看到方便查看的设备树,字符串会恢复,数字会变成十六进制格式。
在 u-boot 启动内核时,会将 dtb 文件的内存地址传递给内核,并将其所占内存保留;因此,我们在内核启动后,访问该内存,获得原始的dtb。
-
嵌入式
+关注
关注
5161文章
19790浏览量
319789 -
Linux
+关注
关注
88文章
11536浏览量
214924 -
设备树
+关注
关注
0文章
39浏览量
3419
发布评论请先 登录
基于Android7.1 高通8953 平台下零死角玩转设备树DTS【2018更新】【申精】
迅为-IMX6开发板设备树-Linux内核配置两路can
stm32mp1-seeed-npi-full.dtb设备树
如何编译设备树和Linux内核镜像文件
Linux内核的设备树DTS使用方法详解
ARM Linux设备树的组成和结构
为什么无法使用STM32CubeMX生成的原始设备树启动安装STM32MP151CAA3 MPU的原始板?
IMX8MM设备树覆盖,无法在uboot中加载.dtb和.dtbo是怎么回事?
你眼中的Linux设备树是怎样的?
设备树的传递及kernel 对设备树的解析

评论