如何使用2022.1版本工具链实现ZCU102 USB启动(下)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

如何使用2022.1版本工具链实现ZCU102 USB启动(下)

作者:Gaofeng,AMD 赛灵思开发者

根据上篇的博客把启动镜像制作完成后,进行测试:

插好USB线和串口,设置ZCU102上的拨码开关SW6[1:4]=1110(OFF, OFF, OFF,ON),另外,还需要保证USB外设处于device模式,具跳线设置可参考UG1182。

由于UG1029已经对LINUX下dfu-util的操作步骤做了详细说明,本文介绍WIN10下dfu-util的操作步骤。是用的是VITIS 2022.1安装路径下的dfu-util-0.9工具,另需提前准备好Zadig用于下载驱动,Zadig的使用方法可参考 https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842468/ZynqMp+US

打开WINDOWS CMD进入/2022.1/tps/win64/dfu-util-0.9目录,将之前制作好的两个启动镜像和PETALINUX编译的image.ub复制到该目录下。

Board上电后,在CMD中输入dfu-util – l,由于没有驱动,结果显示无法打开设备。

图片[1]-如何使用2022.1版本工具链实现ZCU102 USB启动(下)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

使用Zadig安装驱动

 

 

安装完成后,依次写入两个启动镜像
dfu-util -D BOOT1.bin
dfu-util -D BOOT2.bin

在串口调试工具中进入U-BOOT命令行,输入如下指令:
setenv loadaddr 0x10000000
setenv kernel_addr 0x10000000
setenv kernel_size 0x1e00000
setenv dfu_ram_info “setenv dfu_alt_info image.ub ram $kernel_addr $kernel_size”
setenv dfu_ram “run dfu_ram_info && dfu 0 ram 0”
run dfu_ram

此时我们的dfu-util工具又无法打开USB接口了,需要下载新的驱动

 

 

下载完成后写入image.ub。
dfu-util -D image.ub

回到U-BOOT命令行, 输入bootm启动系统。

 

 

常见问题1: BOOT1.bin过大导致写入失败
问题描述:BOOT1.bin下载即将结束时出错,log显示如下:

图片[2]-如何使用2022.1版本工具链实现ZCU102 USB启动(下)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

解决方法:BOOT1.bin由fsbl.elf和pmufw.elf组成,需要减少使能的外设或者减少FSBL和PMUFW的功能,参考

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842019/Zynq+Ultr…

常见问题2:WINDOWS下DFU工具失效
问题描述:在U-BOOT命令行中执行run dfu_ram后,WINDOWS中的DFU工具无法打开USB端口。

解决方法:使用Zadig下载安装USB download gadget驱动后即可正常使用。

 

请登录后发表评论

    没有回复内容