偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

聊聊Linux 運行時設備樹

系統(tǒng) Linux
在根文件系統(tǒng)中查看設備樹,是一種不錯的調(diào)試手段。因此查看板子中真實生效的設備樹配置信息是很重要的。

在根文件系統(tǒng)中查看設備樹,是一種不錯的調(diào)試手段。因為很多時候會出現(xiàn)你修改了 dts 文件,并且也編譯了新的 dtb,但是下載到板子上的還是以前的 dtb,因此查看板子中真實生效的設備樹配置信息是很重要的。

1、設備樹原始 dtb 格式

在如下目錄,fdt 就是我們的 設備樹*.dtb文件

/sys/firmware/fdt     //原始dtb文件

執(zhí)行以下指令可看

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 工具!反編譯也是這個工具,反編譯后可以看到方便查看的設備樹,字符串會恢復,數(shù)字會變成十六進制格式。

在 u-boot 啟動內(nèi)核時,會將 dtb 文件的內(nèi)存地址傳遞給內(nèi)核,并將其所占內(nèi)存保留;因此,我們在內(nèi)核啟動后,訪問該內(nèi)存,獲得原始的 dtb。

2、設備樹目錄結(jié)構(gòu) dtb 格式

/sys/firmware/devicetree

以目錄結(jié)構(gòu)程現(xiàn)的 dtb 文件, 根節(jié)點對應 base 目錄, 每一個節(jié)點對應一個目錄, 每一個屬性對應一個文件:

在這里你就可以看到你配置的設備樹節(jié)點信息,字符串使用 cat,數(shù)字使用 xxd 、hexdump 命令:

3、內(nèi)核中現(xiàn)存的所有 platform_device

/sys/devices/platform 

系統(tǒng)中所有的 platform_device, 有來自設備樹的, 也有來有 .c 文件中注冊的。

對于來自設備樹的 platform_device,可以進入 /sys/devices/platform/<設備名>/of_node 查看它的設備樹屬性。

對于有 of_node 屬性的 platform_device,證明其來源于 dtb。

note:/proc/device-tree 是鏈接文件, 指向 /sys/firmware/devicetree/base

以上是 Linux 原生的節(jié)點,可以供我們使用。如果你用的芯片是某個廠家,這個廠家客制化的時候會增加一些調(diào)試節(jié)點,你可以很方便的在 IC 廠商增加的調(diào)試節(jié)點中查看設備樹信息。

重要補充:

Linux 常用的文件系統(tǒng)有三個:procfs、sysfs、debugfs

procfs:該文件系統(tǒng)主要用來反饋內(nèi)核的信息,包括系統(tǒng)中所有的中斷、進程信息都可以在這里查看。掛載在 /proc/...

sysfs:該文件系統(tǒng)主要是和驅(qū)動強相關,會反饋所有的驅(qū)動信息,以目錄形式顯示。掛載在 /sys/...

debugfs:該文件系統(tǒng)掛載在 /sys/kernel/debug/... ,主要用來 debug。

責任編輯:姜華 來源: 嵌入式Linux系統(tǒng)開發(fā)
相關推薦

2024-01-29 08:07:42

FlinkYARN架構(gòu)

2015-07-20 15:44:46

Swift框架MJExtension反射

2017-01-19 20:28:44

2020-04-06 11:47:44

Linux命令腳本

2024-03-21 09:15:58

JS運行的JavaScrip

2024-04-30 14:09:00

代碼APIRust

2021-09-11 15:38:23

容器運行鏡像開放

2019-07-12 09:30:12

DashboardDockerDNS

2019-10-14 09:14:37

Linuxbash命令

2021-08-18 08:32:09

代碼運行時間示波器

2020-12-07 13:31:43

GoMutex開發(fā)者

2024-03-20 10:46:00

云原生容器

2013-11-26 16:49:55

Android開發(fā)運行時KitKat

2023-07-28 10:42:43

2023-01-03 09:10:21

2021-08-27 00:21:19

JSJust源碼

2023-02-12 12:00:57

2023-08-29 08:20:35

Kubernete跨云容器

2022-12-30 08:08:30

2021-06-24 10:28:19

uptimed命令Linux
點贊
收藏

51CTO技術棧公眾號