芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 3640|回复: 0

【Zynq】【出厂固件】如何烧录ACZ702开发板的出厂固件

[复制链接]

该用户从未签到

58

主题

72

帖子

757

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
757
发表于 2022-7-30 22:11:37 | 显示全部楼层 |阅读模式

绪论

本文将以操作指南的形式教大家如何烧录ACZ702开发板的出厂固件。

补充

如果用户只是给开发板进行过Qspi固化,覆盖掉了Qspi-Flash里的出厂程序,而并没有破坏过板载的eMMC里的文件,那么请直接跳到第三步,只需执行第三步,第三步完成后进入第五步启动系统。

如果用户并没有给开发板进行过Qspi固化,只破坏了eMMC里的文件,那么只需执行第一二四五步,无需执行第三步。

第一步:烧录固件的前期准备

1.打开网盘资料,找到以下路径,其中“win32diskimager-binary.rar”为必须下载的文件,其余的文件为不同型号与版本的开发板对应的镜像压缩文件,根据你购买的开发板型号与版本号,选择下载对应的镜像压缩文件即可,例如我购买的是ACZ702的7010型号的V2.0版本,就下载V2.0版本硬件镜像文件夹下的“ACZ702_7010_V2_0.zip”这个压缩包。

image.png

2.找出购买开发板时赠送的SD卡和读卡器,将SD卡插到读卡器上,再将读卡器插到电脑上,可以看到电脑上显示了一个空白U盘“F盘”

第二步:将镜像烧录进SD卡中

1.解压“win32diskimager-binary.rar”和刚刚下载的对应版本的镜像文件“ACZ702_XXXX.zip”,并将它放在一个不含中文和特殊字符的路径下,进入win32diskimager-binary/win32diskimager-binary下,双击Win32diskimager.exe运行烧录软件。

2.在软件界面选择你解压之后的ACZ702_XXXX.img镜像文件,右边的Device选则你插入的读卡器的盘符,租后点击Write,在弹出的弹窗选择确定,等待烧录完成即可。

image.png

3.烧录完成后弹出读卡器,至此我们就拥有了一张带有ACZ702出厂镜像的SD启动卡了,将这张卡直接插到开发板的卡槽,然后先将开发板的启动模式切换成SD卡启动,然后再给开发板上电启动,就可以使用SD卡启动Linux系统了。如果用户只是想启动开发板的Linux系统,而不需要对开发板进行固化,到这一步就可以停止了。

第三步:固化Qspi-Flash里的启动固件

这一步只针对那些进行过Qspi固化导致里面的启动文件被覆盖的用户,如果你的Qspi里的启动固件是完好的,可以跳过这步,直接进入第四步。

1.根据自己的开发板版本(版本号见开发板右侧丝印,目前有V1.3和V2.0版本)下载本文末尾的BOOT.zip附件,解压后放在一个英文路径,然后打开任意一个Vivado工程的SDK工程,点击Program Flash Memory图标 image.png

2.在弹出的窗口中分别点击Image Files和FSBL Files右侧的Browse,添加刚刚下载的BOOT.BIN文件和zynq_fsbl.elf文件 image.png

3.将开发板调整为Jtag模式,然后用type-c数据线将开发板的调试接口连接到电脑,按一下右下角的“Reset”按键将开发板复位

image.png

4.点击Program,将文件烧写到Qspi芯片中 image.png 5.烧写中 fakename.png 6.烧写完成 fakename1.png

第四步:烧写eMMC

1.把SD卡放在读卡器里面,插在任意一个USB口,使用跳线帽切换到HOST模式,启动模式设置为qspi启动。

2.打开开发板电源。在u-boot的倒计时界面按任意键停止系统自启动,在当前界面输入以下命令:(直接复制全部代码,在终端界面单击鼠标滚轮,粘贴即可),然后按下回车键

env default -a
setenv bitstream_load_address 0x100000
setenv bitstream_image system.bit
setenv bitstream_size 0x300000
setenv kernel_image zImage
setenv devicetree_image system.dtb
setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/sda2 rw rootwait'
setenv bootcmd 'run usbboot || run distro_bootcmd'
setenv usbboot 'if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${bitstream_load_address} ${bitstream_image} && fpga loadb 0 ${bitstream_load_address} ${bitstream_size} && load usb 0 ${kernel_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && bootz ${kernel_load_address} - ${devicetree_load_address}; fi'
saveenv
boot

3.单击鼠标滚轮粘贴后会出现以下界面,点击ok即可

image.png

4.然后会进入启动界面,最后linux系统启动完成,显示如下:

image.png

5.在这个界面输入以下命令

./burn_eMMC.sh

如果让你输入密码,直接输入123即可,加密码是为了防止某些用户在正常使用时误操作输入了烧写命令,导致eMMC或SD卡被格式化。

image.png

6.上图表示烧写完成,此时可以输入以下命令关机

poweroff

7.关机以后,我们拔下读卡器

第五步:进入烧写好的系统

1.按下右下角写着“Reset”的系统复位按键,可以重新启动系统,在u-boot的倒计时界面按任意键停止系统自启动,在当前界面输入以下命令:(直接复制全部代码,在终端界面单击鼠标滚轮,粘贴即可),然后按下回车键

env default -a
setenv bitstream_load_address 0x100000
setenv bitstream_image system.bit
setenv bitstream_size 0x300000
setenv kernel_image zImage
setenv devicetree_image system.dtb
setenv bootargs 'console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait'
setenv bootcmd 'run sdboot || run distro_bootcmd'
setenv sdboot 'if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && fatload mmc 0 ${bitstream_load_address} ${bitstream_image} && fpga loadb 0 ${bitstream_load_address} ${bitstream_size} && fatload mmc 0 ${kernel_load_address} ${kernel_image} && fatload mmc 0 ${devicetree_load_address} ${devicetree_image} && bootz ${kernel_load_address} - ${devicetree_load_address}; fi'
saveenv
boot

2.下图表示系统启动成功,也证明我们的eMMC烧写完成!

image.png

附件

(BOOT_V2_0已于20230414更新)

BOOT_V2_1.zip

417.15 KB, 下载次数: 3

BOOT_V1_3.zip

417.55 KB, 下载次数: 147

BOOT_CB.zip

417.24 KB, 下载次数: 3

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2024-4-26 06:19 , Processed in 0.117665 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表