项目场景:
zynqmp 平台通过JTAG方式启动UBOOT
问题描述
petalinux2021.1版本执行dow u-boot.elf ,con 命令后串口没有相关输出显示。
petalinux2020.2版本正常
原因分析:
编译打包的文件打包成BOOT.BIN后,使用SD卡启动是正常的。打包log显示 有system.dtb文件:
解决方案:
XSDB终端增加命令,下载system.dtb到设备中。
:targets -set -nocase -filter {name =~ “A53#0”}
dow -data “system.dtb” 0x00100000
完整执行脚本如下:
connect
targets -set -nocase -filter {name =~ “PSU”}
mask_write 0xFFCA0038 0x1C0 0x1C0
targets -set -nocase -filter {name =~ “MicroBlaze PMU”}
dow “pmufw.elf”
exec sleep 2
con
targets -set -nocase -filter {name =~ “APU”}
mwr 0xffff0000 0x14000000
mask_write 0xFD1A0104 0x501 0x0
exec sleep 5
targets -set -nocase -filter {name =~ “A53#0”}
#source psu_init.tcl
dow “zynqmp_fsbl.elf”
exec sleep 2
con
exec sleep 4; stop;
targets -set -nocase -filter {name =~ “A53#0”}
dow -data “system.dtb” 0x00100000
exec sleep 2
targets -set -nocase -filter {name =~ “A53#0”}
dow “u-boot.elf”
exec sleep 2
targets -set -nocase -filter {name =~ “A53#0”}
dow “bl31.elf”
exec sleep 2
con
下面还有借鉴别人的petalinux2020.2 可以正常运行的版本,也是可以正常启动的:
connect
targets
targets -set -filter {name =~ “PSU”}
mwr 0xffca0038 0x1ff
targets
exec sleep 1
targets -set -filter {name =~ “MicroBlaze PMU”}
targets
dow pmufw.elf
con
exec sleep 2
targets -set -filter {name =~ “Cortex-A53 #0”}
rst -processor
dow zynqmp_fsbl.elf
con
exec sleep 2
stop
targets -set -nocase -filter {name =~ “A53#0”}
dow -data “system.dtb” 0x00100000
exec sleep 4
dow bl31.elf
con
stop exec sleep 2
dow u-boot.elf
con
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Jean_Yang77/article/details/128224242
文章讲述了在Petalinux2021.1中,使用JTAG方式启动UBOOT时遇到串口无输出的问题,原因在于system.dtb文件未正确加载。解决方案是通过XSDB终端下载system.dtb到设备,并提供了相应的执行脚本。作者还提到了一个在2020.2版本下正常工作的参考脚本。
 JTAG烧写u-boot后,串口无输出&spm=1001.2101.3001.5002&articleId=137938484&d=1&t=3&u=150e98bf1b1f48118bb0aff19e1ef408)
372

被折叠的 条评论
为什么被折叠?



