ZYNQ系列通过QSPI启动的程序烧写

近来在调试ZYNQ与上位机的PCIe通信,因为上位机机箱重启BIOS检测方式设置不同,需要先将程序固化之后一起上电,这里简单的对QSPI启动的程序固化做个说明与总结。

由于ZYNQ的大部分芯片是把FLASH与PS端相连,所以这里的固化介绍是怎样从PS端烧写。

一.PL端的设置

1.1 block design中参数设置

我们主要介绍QSPI启动,用这种方式启动,在zynq核设计中一定要注意的一项I/O选择就是QSPI Flash ,需要注意的点有以下几个:

  1. 参照原理图,Bank的电压要设置正确
  2. 这里的Feedback Clock需要勾选,不然会导致之后烧写错误
    ZYNQ系列通过QSPI启动的程序烧写_第1张图片

1.2生成bit文件并打开SDK

生成bit文件并将其导入SDK中,具体方法:File–Export–Export Hardware,这里要注意勾选include bit,然后启动SDKFile–Launch SDK。
ZYNQ系列通过QSPI启动的程序烧写_第2张图片

二.PS端的设置

这里主要介绍烧写过程,我们用hello word工程做讲解。

2.1 建立hello word工程

File–New–Application Project,设置如下:
ZYNQ系列通过QSPI启动的程序烧写_第3张图片
ZYNQ系列通过QSPI启动的程序烧写_第4张图片

2.2 建立fsbl工程

这里的FSBL文件就是通过QSPI启动需要的引导文件,需要我们在SDK中新建,具体操作与建HELLO WORD工程一致,在Templates页面选择Zynq Fsbl即可。
ZYNQ系列通过QSPI启动的程序烧写_第5张图片

2.3 生成.bin/.mcs格式文件

将程序烧写到Flash中实际就是将.bin文件或.mcs文件写入Flash,这里生成我们需要的.bin文件或.mcs文件,.bin格式文件用于SD卡启动与QSPI Flash启动,.mcs格式只能用于QSPI Flash启动。

2.3.1 右击hello 工程,选择Creat Boot Image。

ZYNQ系列通过QSPI启动的程序烧写_第6张图片

2.3.2 生成文件

标记1:可以选择生成文件格式。
标记2:生成.bin/.mcs主要需要3个文件,分别是fsbl.elf文件,PL端生成的.bit文件与SDK中工程的.elf文件,需要注意的是这三个文件的顺序一定要正确。由于这里用的是hello例程,系统已将3个文件导入。如果系统没有导入需要我们自己到工程文件夹下依次添加。
ZYNQ系列通过QSPI启动的程序烧写_第7张图片
3.可以在工程文件夹下的bootimage文件夹下发现我们生成的文件,这里生成的是.bin文件。
ZYNQ系列通过QSPI启动的程序烧写_第8张图片

三、程序固化

3.1 通过SDK软件固化

打开 Xilinx–Program Flash烧写界面
1.导入生成的.bin文件。
2.导入fsbl工程下的fsbl.elf文件。
3.在擦除和烧写完成是进行自检。

ZYNQ系列通过QSPI启动的程序烧写_第9张图片
然后点击Program就可以完成烧写。

3.2 通过Vivado软件固化

通过JTAG连接板卡,在FPGA芯片选项右键,选择Add Configuration Memory Device,然后选择板卡上对应的Flash型号。

ZYNQ系列通过QSPI启动的程序烧写_第10张图片
这个界面也是选择的在SDK生成的.bin文件以及FSBL文件,然后点OK就可以完成烧写。
ZYNQ系列通过QSPI启动的程序烧写_第11张图片

以上就是全部ZYNQ系列FPGA通过QSPI启动的固化方式的介绍。

注意:一定要正确配置PS核的信息,包括DDR3型号和BANK的电压

你可能感兴趣的:(ZYNQ)