从零开始利用MATLAB进行FPGA设计(七)固化程序

FPGA开发板:AX7020;Xilinx 公司的 Zynq7000 系列的芯片XC7Z020-2CLG400I,400引脚 FBGA 封装。

HARDWARE PLATFORM在2019以后的vivado中已经没有了。本期实际上已经与MATLAB无关,主要介绍通过VITIS等方法进行程序固化。

目录

ZYNQ是如何启动的?

生成FSBL文件

SD卡启动

QSPI启动:

Vitis烧写

vivado烧写

批处理文件快速烧写


ZYNQ是如何启动的?

对于ZYNQ来说,必须要有PS端的配合才能固化程序。

  • ZYNQ的启动由ARM主导,在非JTAG模式下启动,处理器首先执行BootRom里的代码,包括一些最基本的驱动以及把FSBL(first stage boot loader)代码搬运到OCM(on-chip memory)中。
  • 处理器开始执行FSBL代码,包括:初始化vivado工程中对ZYNQ核的配置;加载PL端bitstream;加载second stage bootloader到DDR(Double Data Rate双倍速率同步动态随机存储器);交给second stage bootloader。
  • second stage bootloader(跑系统的情况下使用)。

生成FSBL文件

fsbl.elf在硬件平台工程中。zynq_fsbl是fsbl的BSP(板级支持包),包含了许多外设文件。在fsbl.debug中添加调试宏定义:

分别build硬件平台工程和APP工程,在APP工程中的debug文件夹中生成了对应的BOOT.bin。BOOT.bin是启动文件,可以放到SD卡启动,也可以烧写到QSPI Flash。

也可以点击APP工程右键选择Create Boot Image,在其中add之前生成的fsbl.elf和bitstream文件(本例没有)。

SD卡启动

将SD卡格式为FAT32格式,放入BOOT.bin,调整启动模式为SD卡启动,打开putty配置串口,板子上电启动:

QSPI启动:

开发板配有一篇256Mbit的QSPI FLASH芯片(W25Q256)。QSPI启动实际上是把程序烧写到FLASH芯片中。

Vitis烧写

在Vitis中选择Xilinx>Program Flash,配置如下:

将开发板的启动模式设为QSPI,再次启动,在putty里面看到:

vivado烧写

在HARDWARE MANGER右键 Add Configuration Memory Device,配置如下:

然后右键选择编译文件,选择要烧写的boot和fsbl文件,烧写时使用JTAG启动模式。

批处理文件快速烧写

编写.bat文件如下:

路径对应的是vitis的安装路径,把要烧录的文件放在一起:


​插上JTAG线后双击bat文件即可烧写。

相关推荐
XINVRY-FPGA42 分钟前
XC3S1000-4FGG320I Xilinx AMD Spartan-3 SRAM-based FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
国科安芯5 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
贝塔实验室6 小时前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库
FPGA_无线通信7 小时前
OFDM 同步设计(3)
算法·fpga开发
贝塔实验室8 小时前
Altium Designer全局编辑
arm开发·经验分享·笔记·fpga开发·dsp开发·射频工程·基带工程
北京青翼科技9 小时前
【TES818 】基于 VU13P FPGA+ZYNQ SOC 的 8 路 100G 光纤通道处理平台
图像处理·人工智能·fpga开发·信号处理·智能硬件
m0_564914929 小时前
视频字幕AI总结丨FPGA入门教学视频
人工智能·fpga开发
9527华安10 小时前
FPGA纯verilog实现JESD204B协议,基于ADRV9009数据环回收发,提供2套工程源码和技术支持
fpga开发·verilog·jesd204b·adrv9009
集芯微电科技有限公司10 小时前
40V/3A高性能高集成三相BLDC驱动器具有电流及故障诊断功能(FLT)
c语言·数据结构·单片机·嵌入式硬件·fpga开发
传感器与混合集成电路12 小时前
提升多轴同步精度:DSP+FPGA架构在高端特种装备伺服控制中的应用
嵌入式硬件·fpga开发·架构