【ZYNQ】ZYNQ 7020纯PL端程序固化操作流程(超详细亲测有效!)

前言

当我们要将开发完成的程序下载到芯片上板验证的时候一般都是通过JTAG线将程序下载到FPGA芯片内部,这种情况下当板子重新上电之后,我们先前下载进去的程序便会丢失,如果想要开发板重新上电之后依旧要执行我们想要的功能时,就需要将程序固化到FLASH或者SD卡中,并将开发板启动方式进行相应的设置。

纯逻辑的FPGA开发板程序固化是没什么问题的,但是对于ZYNQ来说分成了PS和PL侧,如果工程中同时使用了PS和PL同样的也能进行固化,但是如果我们只使用PL侧的资源进行功能开发,又该如何固化程序呢?不带ARM的程序固化没问题,但是对于ZYNQ来说想要只固化PL端的程序必须要用PS打配合,本文将以按键点灯为例子实现ZYNQ PL端的程序固化。

环境准备:
软件:Vivado2020.2、Vitis2020.2
硬件:正点原子领航者开发板ZYNQ7020
下面以简单程序按键点灯为例,将要固化工程进行引脚约束、时序约束、上板验证无误后进行如下操作:

1、调用IP创建块设计(Create Block Design)

在这里插入图片描述
输入模块设计名称后点击ok
在这里插入图片描述
搜索并添加ZYNQ IP核
在这里插入图片描述
在这里插入图片描述
双击调用的IP模块进行设置
在这里插入图片描述
点击 Peripheral I/O Pins进入IO配置界面
在这里插入图片描述
勾选使能Quad SPI Flash、SD0、UART1外设
在这里插入图片描述
展开SD0,勾选Card Detect,点击其中引脚47使其变绿
在这里插入图片描述
点击左侧菜单栏MIO Configuration选项
在这里插入图片描述
修改 Quad SPI Flash 和SD0 speed为fast,以及bank1 IO Voltage为LVCOMS1.8V
在这里插入图片描述
在这里插入图片描述
点击DDR Configuration,进行DDR设置,memory part需要设置为对应开发板上DDR的型号或者推荐的型号
在这里插入图片描述
点击OK完成设置
将下图中两个引脚进行连接,否则后续编译可能会报错
在这里插入图片描述
在Diagram空白处点击右键选择Add Module添加工程的RTL模块
在这里插入图片描述
在这里插入图片描述
然后点击Run Connection Automation进行自动连线
在这里插入图片描述
勾选全部模块自动连线,时钟源选择ZYNQ FCLK端口提供的50MHz时钟
在这里插入图片描述
连线后如下图:
在这里插入图片描述
这里我添加的模块只有一个输出端口“led”,需要右键模块中的led端口,然后选择"Make External"选项,将该信号导出到外部连接到LED管脚
在这里插入图片描述
在这里插入图片描述
选中rst_n端口点击右键,选择create port,创建复位端口
在这里插入图片描述
在这里插入图片描述
同理选中key_in端口,点击右键选择create port,创建输入端口
在这里插入图片描述
完成后击Run Block Automation
在这里插入图片描述
点击OK
在这里插入图片描述
在这里插入图片描述
完成后验证设计有没有问题
在这里插入图片描述
弹出如下窗口表示设计无误
在这里插入图片描述
点击选中左侧Source栏中的BD模块(keyLedBD),右键点击选择Generate Output Products
在这里插入图片描述
点击Generate
在这里插入图片描述
Generate完成
在这里插入图片描述
同样选中BD模块(keyLedBD),右键点击选择Create HDL Wrapper
在这里插入图片描述
点击OK
在这里插入图片描述
完成后Source中生成如下文件
在这里插入图片描述
将Block Design位置为顶层,否则后续引脚约束时没有DDR和FIXED_IO的引脚,我这里已经设置成了顶层,所以Set as Top是灰色
在这里插入图片描述
对引脚进行约束
在这里插入图片描述
保存更改,然后重新编译工程,生成Bit流文件
在这里插入图片描述
编译完成后导出硬件,点击菜单栏File—>Export—>Export Hardware进行导出,包含Bit流文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下图为导出的硬件设计文件.xsa,Vivado2019之前的版本导出的硬件设计文件后缀是.hdf
在这里插入图片描述

2、进入Vitis IDE,Launch Vitis IDE,生成配置文件并烧录

点击菜单栏Tools—>Launch Vitis IDE,打开 Vitis IDE 开发环境
在这里插入图片描述
选择工作区路径
在这里插入图片描述
点击菜单栏File—>New—>Application Project
在这里插入图片描述
选择之前导出的硬件文件.xsa
在这里插入图片描述
填写工程名称
在这里插入图片描述
在这里插入图片描述
选择Zynq FSBL模板
在这里插入图片描述
编译工程生成elf文件
在这里插入图片描述
点击菜单栏Xilinx—>Create Boot Image,生成BOOT.bin文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击菜单栏Xilinx—>Program Flash,选择刚刚生成的BOOT.bin和FSBL.elf文件路径,注意:此时要确保开发板启动方式为JTAG模式
在这里插入图片描述
程序固化中…
在这里插入图片描述
终端打印固化过程信息
在这里插入图片描述
固化完成
在这里插入图片描述
然后将开发板断电,并将启动模式拨码开关拨至FLASH方式启动,重新上电后将从FLASH中读取程序开始运行。

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值