文章来源:FPGA开源工作室
1. 介绍
FPGA Multiboot(多重启动)是一种允许FPGA在运行时动态切换不同配置映像的技术。这项技术主要应用于Xilinx FPGA(如Virtex、Zynq、Kintex和Artix系列),通过提供灵活的配置管理方案,增强了系统的可靠性和灵活性。
1)主要特点
2. 基础理论
Multiboot往往在产品中被用于镜像文件的升级和备份,即IAP(In Application programming)应用。举个最简单的例子,在Flash中存入2个BOOT.bin镜像文件,分别为update image和golden image。镜像升级过程只更新update image,而golden image作为备份不被更新。这样做的目的是当update image出现异常,或update image更新失败导致无法从update image启动时,还可以切换到备份的golden image启动,避免硬件宕机。

3. Zynq boot过程

ZYNQ启动过程分为三个阶段,称为BootROM、阶段0(FSBL)和阶段1: