ZYNQ芯片+Linux系统搭建完成后,希望通过QSPI-Flash的方式来进行程序加载。
QSPI-Flash启动则需要烧录以下文件:
BOOT.bin : fsbl.elf + uboot.elf
uImage : linux内核
zynq_board.dtb : zynq平台的设备树
uramdisk.image.gz : 文件系统
design.bit : FPGA程序比特流文件(注意:在第二种烧录方法中需要使用design.bin文件)
准备完成之后,将这些文件烧录到QSPI Flash中有两种方法:
1、以上5中文件在SDK中直接制作成一个BOOT.bin,通过JTAG直接烧录到Flash中。
缺点:一旦程序需要更新,尤其是其中一种程序需要更新,都要一起重新生成bin文件,繁琐耗时。
2、通过SDK引导启动UBOOT,然后通过UBOOT中的tftp和sf命令将以上5个文件分区烧录到Flash中。
本文主要记录如何通过SDK来引导 UBOOT,后续章节将会详细介绍Flash如何分区且如何通过tftp和sf命令进行烧录。
首先将VIVADO生成的bit文件导入到SDK中如下图所示