目录
大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。
最近在使用Xilinx Ultrascale+ ZYNQ MPSOC系列进行应用开发,软件开发完成后需要对其进行固化。按照之前使用Altera的经验,Xilinx烧录应该也有多种烧录方法。本系列篇整理了三种方式对QSPI进行程序的烧录固化,后续对每种方式进行单独总结说明。三种方式如下:
-
使用Vitis软件进行烧录
-
使用vivado软件进行烧录
-
使用批处理脚本进行烧录
本篇主要是总结分享对QSPI进行烧录所需要两个文件的生成(三个方式皆需要),所需文件如下:
-
fsbl.elf
-
BOOT.bin
总线 | 描述 |
fsbl.elf | FSBL程序文件,主要是用于XILINX SOC的启动配置. |
BOOT.bin | 应用程序bin文件. |
好的,直接进入正题。
01 生成FSBL.elf
-
在创建Vitis工程的Platform project时,在Boot Components选项勾选上“Generate boot components”,直接将fsbl添加到工程;
fsbl.elf文件路径为:
“Platform工程/export/Platform工程/sw/Platform工程/boot/fsbl.elf”
02 生成BOOT.BIN
方法一:
在application project_system,右键选择“Build Project”,即可生成BOOT.BIN文件,生成的文件路径为:
“Debug/sd_card/BOOT.BIN”
方法二:
1. 在application project system,右键选择“Create Boot Image”;
2. 在“Create Boot Image”界面上“Boot image partitions”一栏,默认是已添加fsbl.elf、xxx.bit、xxx.elf文件,没有的话依次添加进去,然后选择要输出的路径,点击Create Image即生成Boot.bin文件。
特别说明:Boot image partitions可添加的文件如下:
-
fsbl.elf(必要):first-stage boot loader(第一阶段boot引导程序文件)
-
xxx.bit(可选):Vivado生成的PL端的bit文件
-
xxx.elf(必要):用户应用程序elf文件
-
pmufw.elf(可选):PMU硬件设备检测程序
03 文章总结
本篇作为Xilinx SOC芯片烧录QSPI的开篇(第一篇),主要描述了固化所需文件的生成方法。对于Xilinx的SOC系列,如ZYNQ、MPSOC等需要由硬核启动的芯片而言,将程序固化到QSPI中皆需要fsbl.elf和BOOT.bin文件。后续会分别就Vitis、vivado以及批处理脚步的方式对QSPI进行烧录。