基于现有dtb文件修改内容

当有修改dtb需要,又不想经过linux编译生成dtb时,可以通过dtc工具进行dtb->dts,dts->dtb的转换。

dtc工具可以进行dtb和dts之间的转换,dts是可编辑文本。

Ubuntu下安装dtc工具:

sudo apt-get install device-tree-compiler

1 dtc将dtb反编译为dts

dtc -I dtb -O dts xxx.dtb -o yyy.dts

2 编辑dts文件

编辑dts文件。

3 dtc将dts编译为dtb

dtc -I dts -O dtb yyy.dts -o zzz.dtb

4 验证修改

为了验证修改后的的dtb文件,可以将对dtb文件打印查看修改内容。

dtc -I dtb -O dts zzz.dtb

5 dtc使用

Usage: dtc [options] <input file>

Options: -[qI:O:o:V:d:R:S:p:a:fb:i:H:sW:E:@AThv]
  -q, --quiet                
    Quiet: -q suppress warnings, -qq errors, -qqq all
  -I, --in-format <arg>      
    Input formats are:
        dts - device tree source text
        dtb - device tree blob
        fs  - /proc/device-tree style directory
  -o, --out <arg>            
    Output file
  -O, --out-format <arg>     
    Output formats are:
        dts - device tree source text
        dtb - device tree blob
        yaml - device tree encoded as YAML
        asm - assembler source
  -V, --out-version <arg>    
    Blob version to produce, defaults to 17 (for dtb and asm output)
  -d, --out-dependency <arg> 
    Output dependency file

基于现有dtb文件修改内容
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DTB是设备树二进制文件的缩写,它描述了硬件设备的属性和连接关系。如果你需要修改设备树,则需要进行以下步骤: 1. 获取设备树源文件:通常情况下,设备树源文件位于内核源代码的arch/arm/boot/dts/或者arch/arm64/boot/dts/目录下。你可以通过下载内核源代码或者从已编译的内核映像中提取设备树文件来获取源文件。 2. 安装设备树编译工具链:在Linux系统中,你可以使用Device Tree Compiler (DTC)工具链编译DTB文件。你可以使用以下命令来安装DTC: ``` sudo apt-get install device-tree-compiler ``` 3. 编辑设备树源文件:你可以使用任何文本编辑器来编辑设备树源文件。设备树源文件通常使用.dts或.dtsi扩展名。 4. 编译设备树:使用以下命令将设备树源文件编译为二进制DTB文件: ``` dtc -I dts -O dtb -o device_tree_blob.dtb device_tree_source.dts ``` 其中,device_tree_source.dts是设备树源文件的名称,device_tree_blob.dtb是编译后的二进制DTB文件的名称。 5. 将DTB文件加载到内核中:在启动时,内核会加载设备树文件。你可以使用以下方法将自己编译的DTB文件加载到内核中: - 将DTB文件复制到/boot目录下,并将其命名为dtb文件名。 - 在引导加载程序(如U-Boot)的启动脚本中,添加以下命令: ``` fatload mmc 0:1 ${fdt_addr_r} dtb文件名 ``` 其中,${fdt_addr_r}是设备树文件的加载地址,通常为0x1000000。 以上就是修改设备树的基本步骤,但需要注意的是,不正确的设备树可以导致系统不可用,因此在进行修改时请小心谨慎。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值