在根文件系統中查看設備樹,是一種不錯的調試手段。因為很多時候會出現你修改了 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。
-
嵌入式
+關注
關注
5092文章
19177瀏覽量
307672 -
Linux
+關注
關注
87文章
11345瀏覽量
210392 -
設備樹
+關注
關注
0文章
39瀏覽量
3161
發布評論請先 登錄
相關推薦
基于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是怎么回事?
設備樹的傳遞及kernel 對設備樹的解析
![<b class='flag-5'>設備</b><b class='flag-5'>樹</b>的傳遞及kernel 對<b class='flag-5'>設備</b><b class='flag-5'>樹</b>的解析](https://file.elecfans.com/web2/M00/0D/1B/pYYBAGECHw6ANXVFAAAoHiuiNb0929.png)
評論