当前位置: 首页 > news >正文

U-Boot FDT命令完全指南

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习
🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发
❄️作者主页:一个平凡而乐于分享的小比特的个人主页
✨收录专栏:Linux,本专栏目的在于,记录学习Linux操作系统的总结
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

🔧 U-Boot FDT命令完全指南

📋 命令概述

命令功能类比理解使用频率
fdt addr设置/查看设备树地址相当于"打开文件"⭐⭐⭐ 必须
fdt resize调整设备树大小相当于"扩展画布"⭐⭐ 按需
fdt apply应用设备树覆盖相当于"叠加图层"⭐ 可选

1️⃣ fdt addr - 设置设备树工作地址

命令详解

# 基本语法fdt addr[<address>][-c]# 常用示例fdt addr 0x43000000# 设置设备树地址fdt addr# 查看当前地址fdt addr -c# 清除当前设置

内存布局示意

内存空间: ┌─────────────────────┐ 0x40000000 │ 内核映像 │ │ (zImage) │ ├─────────────────────┤ 0x43000000 ← fdt addr设置点 │ 设备树 │ │ (device tree) │ ├─────────────────────┤ │ 其他数据 │ └─────────────────────┘

2️⃣ fdt resize - 调整设备树大小

为什么需要resize?

128KB

64KB

fdt resize

已用空间
60KB

剩余空间
4KB

原有数据
60KB

新增空闲
68KB

resize大小对比表

resize大小适用场景优点缺点
默认(4KB)简单修改内存占用小可能不够用
64KB添加几个节点适中大小中等开销
1MB大量覆盖几乎不会溢出内存浪费
不resize只读操作零开销无法修改

3️⃣ fdt apply - 应用设备树覆盖

工作流程

成功

失败

开始

加载基础设备树

fdt addr 0x43000000

需要修改?

fdt resize

加载overlay文件

直接启动

fdt apply 0x44000000

验证成功?

启动内核

检查错误

📊 详细对比表格

命令功能对比

特性fdt addrfdt resizefdt apply
操作对象内存地址设备树大小设备树内容
执行前提设备树已加载已设置地址已设置地址且resize
影响范围全局内存布局节点/属性
错误类型地址无效内存不足语法/兼容性
调试方法fdt addr查看fdt memoryfdt list

参数选项对比

命令参数作用返回值
fdt addr<addr>设置地址成功/失败
无参数显示当前地址地址值
-c清除设置
fdt resize<size>指定新大小成功/失败
无参数默认+4KB成功/失败
fdt apply<addr>应用overlay成功/失败

🎯 实战场景

场景一:基础启动(无修改)

# 最小化命令集load mmc0:1 0x43000000 /boot/dtb fdt addr 0x43000000# 只需设置地址bootz 0x42000000 - 0x43000000

场景二:添加自定义节点

# 完整命令集load mmc0:1 0x43000000 /boot/dtb fdt addr 0x43000000 fdt resize 0x10000# 预留64KB空间# 创建自定义节点fdt mknode / mydevice fdtset/mydevice compatible"vendor,device"fdtset/mydevice reg<0x1c28000 0x1000>fdtset/mydevice interrupts<0424>bootz 0x42000000 - 0x43000000

场景三:使用设备树覆盖

# overlay应用流程# 步骤1:加载基础设备树load mmc0:1 0x43000000 /boot/board.dtb fdt addr 0x43000000# 步骤2:预留足够空间fdt resize 0x200000# 预留2MB# 步骤3:加载overlayload mmc0:1 0x44000000 /boot/overlays/spi.dtbo fdt apply 0x44000000# 应用SPI覆盖load mmc0:1 0x45000000 /boot/overlays/i2c.dtbo fdt apply 0x45000000# 应用I2C覆盖# 步骤4:启动bootz 0x42000000 - 0x43000000

⚠️ 常见错误及解决

错误处理流程

错误: No FDT address

执行fdt addr

错误: FDT requires more space

执行fdt resize

错误: FDT overlay apply failed

检查overlay兼容性

错误: libfdt fdt_check_header

重新加载设备树

错误代码对照表

错误信息错误码原因解决方案
“No FDT memory address configured”-12未设置地址fdt addr <addr>
“FDT requires more space”-7空间不足fdt resize <size>
“FDT overlay apply failed: Invalid argument”-22overlay不兼容检查kernel版本
“libfdt fdt_check_header(): FDT_ERR_BADMAGIC”-1设备树损坏重新加载

💡 最佳实践建议

命令使用顺序

必须

如果需要修改

如果有overlay

加载DTB

fdt addr

fdt resize

fdt apply

启动内核

内存大小建议表

场景建议resize大小说明
只读启动0(不resize)节省内存
简单修改(1-5节点)8KB-16KB适度预留
复杂修改(5-20节点)64KB-128KB足够使用
多个overlay256KB-1MB防止溢出

📝 高级调试技巧

调试命令组合

# 完整的调试流程# 1. 加载并检查load mmc0:1 0x43000000 /boot/dtb fdt addr 0x43000000 fdt list# 查看结构# 2. 修改并验证fdt resize 0x20000 fdtset/chosen bootargs"console=tty0"fdt print /chosen# 验证修改# 3. 保存修改(可选)fdt save 0x43000000 0x50000000 0x20000

通过以上详细说明和图示,您应该能够熟练掌握U-Boot中的FDT命令。记住关键点:fdt addr是基础,需要修改时用fdt resize,有overlay时用fdt apply

http://www.jsqmd.com/news/387023/

相关文章:

  • axure:下载组件库
  • 2026年热门的开式冷却塔/冷却塔实力厂家推荐如何选 - 行业平台推荐
  • 大模型私有化部署全链路实战指南:从模型选型、量化压缩到高可用推理架构(附深度模拟面试与连环追问)
  • 建议收藏|8个降AIGC软件测评:本科生降AI率必备工具推荐
  • 2026年热门的新宋式别墅设计/四川别墅设计优质服务推荐公司 - 行业平台推荐
  • 基于SSM的Evol之家流浪动物领养系统[SSM]-计算机毕业设计源码+LW文档
  • 大模型私有化部署 × 多模态CLIP实战:一场深度模拟面试全解析(附连环追问与工程落地指南)
  • 导师又让重写?一键生成论文工具,千笔·专业学术智能体 VS WPS AI,继续教育写作首选!
  • 大模型实习模拟面试全解析:从整体架构到底层机制,高频连环追问与系统级深度剖析
  • 效率直接起飞!AI论文软件 千笔·专业学术智能体 VS 学术猹,自考写作新选择
  • 2026年热门的台历书刊印刷/折页书刊印刷制造厂家选购指南怎么选(精选) - 行业平台推荐
  • 模型实习模拟面试之Transformer底层源码:从Attention计算到分布式训练,高频连环追问与源码级解析
  • 饮料生产线流水线组态王6.55仿真:打造六个精彩界面
  • 2026年热门的卫浴柜缓冲骑马抽/定制缓冲骑马抽销售厂家采购建议选哪家 - 行业平台推荐
  • 效率直接起飞 10个降AIGC工具测评:专科生降AI率必备攻略
  • 2026年口碑好的工业燃气报警器检测/精准燃气报警器检测高性价比推荐 - 行业平台推荐
  • 2026年评价高的月饼礼盒印刷/精品礼盒印刷公司口碑推荐哪家靠谱 - 行业平台推荐
  • 2026年比较好的带LED灯反弹骑马抽/定制反弹骑马抽实用供应商采购指南如何选 - 行业平台推荐
  • 导师严选!AI论文软件 千笔ai写作 VS 灵感风暴AI,专科生专属神器!
  • 2026年比较好的消防风机/送风消防风机哪家质量好生产商实力参考 - 行业平台推荐
  • 2026年口碑好的玩具包装印刷/成都包装印刷生产厂家实力参考哪家强(更新) - 行业平台推荐
  • 2026年评价高的楼宇照明工程/古建城门照明工程推荐服务方案 - 行业平台推荐
  • 2026年口碑好的楼体亮化工程/道路亮化工程推荐方案 - 行业平台推荐
  • 深入解析:VSCODE, mermaid 示例
  • 参展商最多的建材展会有哪些?2026五大核心展会全攻略|掘金万亿市场 - 匠言榜单
  • 2026年评价高的包装画册印刷/酒盒画册印刷制造厂家实力参考哪家专业 - 行业平台推荐
  • 让AI代理演示他们的工作
  • 2026年比较好的双主轴数控车床/精密线规数控车床哪家专业工厂直供推荐 - 品牌宣传支持者
  • 2026年评价高的三节同步阻尼托底轨/三维调节阻尼托底轨如何选畅销厂家采购指南 - 行业平台推荐
  • AI代理的两种沙盒架构