工具/软件:
您好支持团队:
使用 DFU 将压缩的 rootfs 映像 (rootfs.img.gz) 传输到 RAM 时、我们在 U-Boot 中遇到崩溃。
一旦传输完成、U-Boot 就会因同步中止而崩溃、然后我们才能使用缓冲区(例如使用 gzwrite)。
这种情况与最新的 U-Boot 版本一致:
U-Boot 2025.01-00547-g3bcfad6cee95-dirty
重现步骤:
在目标板 (J784S4 EVM) 上:
run bootcmd_dfu
2.在主机 PC 上:
dfu-util -R -a ram -D rootfs.img.gz
3、传输完成后、U-Boot 会抛出同步中止并重置。
崩溃日志(摘录):
“同步中止“处理程序、ESR 0x96000006、far 0x9f3ffff8
正在重置 CPU...
其他注意事项:
- 该问题仅在 gzip 压缩映像 (rootfs.img.gz) 的 DFU 传输时发生。
- 如果我们在 U-Boot 中以交互方式运行 bootcmd_DFU 并加载同一 文件、则它不会崩溃。
环境:
- 板:J784S4 EVM
- U-Boot 版本:U-Boot 2025.01-00547-g3bcfad6cee95-dirty
- 加载地址:0x80000000
- 文件:rootfs.img.gz(gzip 压缩的 ext4 rootfs 映像)
- 主机工具:dfu-util 0.11
期望:
- 使用-R 进行 DFU 传输后、该文件应保留在存储器中的 0x80000000 中并可用、就像在 U-Boot 中手动执行 bootcmd_DFU 一样。