芯路恒电子技术论坛

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

【AC820-ZYNQ】出厂固件烧录

[复制链接]

该用户从未签到

23

主题

29

帖子

218

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
218
发表于 2024-8-30 14:44:36 | 显示全部楼层 |阅读模式
绪论

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

补充

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

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

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

1.在网盘资料“小梅哥AC820型ZYNQ或安路FPSoC开发板资料/06_预制作镜像”中,下载“win32diskimager-binary.rar”和镜像压缩文件
image.png


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

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

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

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

image.png

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

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

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

1.下载本文末尾的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数据线将开发板的调试接口连接到电脑,开启电源

image.png

4.点击Program,将文件烧写到Qspi芯片中 image.png

5.烧写中
image.png


6.烧写完成
image.png

第四步:烧写eMMC

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

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


[C] 纯文本查看 复制代码
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.在这个界面输入以下命令

[C] 纯文本查看 复制代码
./burn_emmc.sh


image.png

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

[C] 纯文本查看 复制代码
poweroff


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

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

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


[C] 纯文本查看 复制代码
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.zip

417.43 KB, 下载次数: 54

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-23 05:37 , Processed in 0.112091 second(s), 34 queries .

Powered by Discuz! X3.4

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

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