日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux内核合并dtb文件,c – 如何修改内核DTB文件

發布時間:2024/10/8 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核合并dtb文件,c – 如何修改内核DTB文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

我目前正在使用一些自定義板的自定義驅動程序編譯Linux內核(內核,模塊和DTB).有時我會編譯內核并意識到DTB文件中的兼容性字符串不是自定義驅動程序要查找的內容.現在,我可以解決這個問題的唯一方法是修改DTS或內核驅動程序,使字符串匹配,然后再次重新編譯內核.有沒有辦法我可以編輯DTB文件來更新兼容性字符串?

嘗試失敗

我已經能夠使用以下命令將DTB文件反編譯回DTS文件:

dtc -I dtb -o .dts -.dtb

但是,如果我修改DTS文件并使用以下命令重新編譯:

dtc -I dts -o .dtb -.dts

內核不會加載重新編譯的DTB文件

解決方法:

你為什么不生成新的dtb?

DTB(設備樹blob /二進制)是表示板的硬件組件的硬件數據庫.

U-boot將板信息結構傳遞給內核,該內核源自U-Boot中的頭文件.

DTB由特殊編譯器編譯,該編譯器以適當的形式生成二進制文件,以便U-Boot和Linux理解.

DTC(設備樹編譯器)它將設備樹文件轉換為U-Boot和Linux內核可以理解的機器可讀二進制文件.

使用DTC的簡單方法.

$dtc -O dtb -o arm_board.dtb -b 0 arm_board.dts

從dtb獲取文本中的設備樹.

dtc -I dtb -O dts arm_board.dtb

board.dts是由上面的命令創建的二進制文件. -O指定輸出格式. -o flag是輸出文件. -b 0指定物理引導CPU.

然后做

$make ARCH=arm arm_board.dtb

另一種方法可能只是使用make dtbs這將調用dtc. arch / arm / boot / dts / Makefile列出了哪些DTB應該是

在構建時生成

這是另一種編譯方式. make會把它放在kernel tree / arch / arm / boot / dts的這個位置

標簽:c-3,linux,linux-kernel,arm,embedded-linux

來源: https://codeday.me/bug/20190522/1153629.html

總結

以上是生活随笔為你收集整理的linux内核合并dtb文件,c – 如何修改内核DTB文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。