ZYNQ笔记(七):程序固化(QSPI Flash)
版本:Vivado2020.2(Vitis)
任务:将程序固化到 QSPI Flash 中。实现开发板程序上电自启动
参考文章:
ZedBoard教程PS篇(2):debug调试和qspi下载以及启动
ZYNQ-Vitis(SDK)裸机开发之(二)程序固化方法,程序烧写到SD卡启动以及通过QSPI烧写到Flash中启动方法
目录
一、介绍
二、硬件配置
三、Vitis 烧写 QSPI Flash
一、介绍
ZYNQ 的程序固化是指将程序代码永久存储到非易失性存储器中,使系统上电后能自动加载运行的过程。
主要固化方式:
-
QSPI Flash固化:最常用方式,容量小,如启动代码、FPGA 配置
-
NAND Flash固化:适合大容量程序存储,如文件系统
-
SD卡固化:方便更新,适合开发阶段
二、硬件配置
(1)硬件设计沿用了AXI GPIO工程,需要再添加 lSPI Flash 的配置,如图所示:
(2)接着重新进行:设计检查、Generate Output Products、 Create HDL Wrapper、管脚约束、Gnerate Bitstream、Export Hardware(包含比特流文件)、启动Vitis
三、Vitis 烧写 QSPI Flash
(1)启动 Vitis 后 ,新建工程时要勾选 Generate boot components 选项,这样会生成启动的引导文件 fsbl ,没有 fsbl 没办法进行程序烧写。
(2)编写软件程序代码(同AXI GPIO工程,略)
(3)工具栏点击烧写Flash,弹出窗口中点击serach,导入BOOT.BIN 文件
(4)等待烧写完成。
(5)将板卡掉电,根据开发板原理图,将板卡启动模式设为 QSPI Flash 启动模式,板卡重新上电,查看 ZYNQ 的 done 指示灯是否亮起,工程是否正常,判断flash程序是否烧写成功 。
注意:确保板卡启动模式引脚配置正确(一般是通过开关或跳线帽选择启动模式)
