前言
当我们要将开发完成的程序下载到芯片上板验证的时候一般都是通过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选项