在根文件系統(tǒng)中查看設(shè)備樹(shù),是一種不錯(cuò)的調(diào)試手段。因?yàn)楹芏鄷r(shí)候會(huì)出現(xiàn)你修改了 dts 文件,并且也編譯了新的 dtb,但是下載到板子上的還是以前的dtb,因此查看板子中真實(shí)生效的設(shè)備樹(shù)配置信息是很重要的。
1、設(shè)備樹(shù)原始 dtb 格式
在如下目錄,fdt 就是我們的 設(shè)備樹(shù)*.dtb文件
/sys/firmware/fdt //原始dtb文件
執(zhí)行以下指令可看
hexdump -C /sys/firmware/fdt
這個(gè)命令打開(kāi)后是十六進(jìn)制模式,如圖:
這樣是很難看到真實(shí)配置的,可以把 fdt 弄出來(lái),放到 ubuntu 中,使用 Linux 源碼自帶的 DTC
工具反編譯,查看真實(shí)的配置。反編譯命令為
/script/dtc/dtc -I dtb -O dts -o xxx.dts xxx.dtb
DTS 是設(shè)備樹(shù)源碼文件,DTB 是將 DTS 編譯以后得到的二進(jìn)制文件。將 .c 文件編譯為 .o 需要用到 gcc 編譯器,那么將.dts編譯為.dtb 需要什么工具呢?需要用到 DTC 工具!反編譯也是這個(gè)工具,反編譯后可以看到方便查看的設(shè)備樹(shù),字符串會(huì)恢復(fù),數(shù)字會(huì)變成十六進(jìn)制格式。
在 u-boot 啟動(dòng)內(nèi)核時(shí),會(huì)將 dtb 文件的內(nèi)存地址傳遞給內(nèi)核,并將其所占內(nèi)存保留;因此,我們?cè)趦?nèi)核啟動(dòng)后,訪問(wèn)該內(nèi)存,獲得原始的dtb。
-
嵌入式
+關(guān)注
關(guān)注
5152文章
19670瀏覽量
317529 -
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213790 -
設(shè)備樹(shù)
+關(guān)注
關(guān)注
0文章
39瀏覽量
3368
發(fā)布評(píng)論請(qǐng)先 登錄
基于Android7.1 高通8953 平臺(tái)下零死角玩轉(zhuǎn)設(shè)備樹(shù)DTS【2018更新】【申精】
迅為-IMX6開(kāi)發(fā)板設(shè)備樹(shù)-Linux內(nèi)核配置兩路can
stm32mp1-seeed-npi-full.dtb設(shè)備樹(shù)
如何編譯設(shè)備樹(shù)和Linux內(nèi)核鏡像文件
uboot如何給linux內(nèi)核所需要的kernel-dtb呢
Linux內(nèi)核的設(shè)備樹(shù)DTS使用方法詳解
ARM Linux設(shè)備樹(shù)的組成和結(jié)構(gòu)
arm linux設(shè)備樹(shù)都包括哪些基本信息呢
為什么無(wú)法使用STM32CubeMX生成的原始設(shè)備樹(shù)啟動(dòng)安裝STM32MP151CAA3 MPU的原始板?
IMX8MM設(shè)備樹(shù)覆蓋,無(wú)法在uboot中加載.dtb和.dtbo是怎么回事?
編譯設(shè)備樹(shù)dts為dtb,制作根文件系統(tǒng)
你眼中的Linux設(shè)備樹(shù)是怎樣的?
設(shè)備樹(shù)的傳遞及kernel 對(duì)設(shè)備樹(shù)的解析

Linux設(shè)備樹(shù)目錄結(jié)構(gòu)dtb格式

Linux設(shè)備樹(shù)詳解(二) DTB文件格式

評(píng)論