跳转到主要内容
--## 电子创新网图库均出自电子创新网,版权归属电子创新网,欢迎其他网站、自媒体使用,使用时请注明“图片来自电子创新网图库”,不过本图库图片仅限于网络文章使用,不得用于其他用途,否则我们保留追诉侵权的权利。 ##--

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
judy 提交于

文章来源:FPGA开源工作室

1. 介绍

FPGA Multiboot(多重启动)是一种允许FPGA在运行时动态切换不同配置映像的技术。这项技术主要应用于Xilinx FPGA(如Virtex、Zynq、Kintex和Artix系列),通过提供灵活的配置管理方案,增强了系统的可靠性和灵活性。
1)主要特点

  1. 多配置映像存储:在非易失性存储器(如Flash)中存储多个比特流文件

  2. 运行时切换:无需完全重新上电即可切换不同配置

  3. 故障恢复:当主配置出现问题时自动回退到"黄金"配置

  4. 动态重配置:支持系统运行期间的部分或完全重配置

  5. 多映像存储:在配置存储器中存储多个比特流文件,每个文件有特定的起始地址

  6. 触发机制:通过IPROG命令、外部信号或看门狗超时触发配置切换

  7. 地址跳转:从当前配置跳转到新配置的起始地址

  8. 重配置:FPGA从新地址开始加载配置数据
    典型应用场景
    ⒈ 现场固件升级
    ⒉ 硬件功能动态切换
    ⒊ 高可靠性系统的故障恢复
    ⒋ 不同工作模式的切换
    ⒌ A/B测试不同硬件设计

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启动,避免硬件宕机。

图1.png

3. Zynq boot过程

图2.png

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

  1. BootROM阶段(硬件自动执行)
    o 芯片上电后首先执行的不可修改代码
    o 存储在芯片内部ROM中
    o 完成最基本的硬件初始化

  2. 阶段0 - First Stage Bootloader (FSBL)
    o 用户可定制的第一级引导程序
    o 通常由Xilinx SDK生成或用户开发
    o 初始化DDR、外设等更复杂的硬件

  3. 阶段1 - Second Stage Bootloader/用户应用
    o 可以是U-Boot、用户应用程序或裸机程序
    o 最终加载操作系统或用户应用

精彩推荐

2026英伟达GTC大会专题

CES 2026(国际消费类电子产品展览会)专题

第四届南渡江智慧医疗与康复产业高峰论坛

第十五届松山湖中国IC创新高峰论坛

第四届滴水湖中国RISC-V产业论坛

Recent comments

  • 1873774516_516738
  • 2460440665_516737
  • 1457585548_516736
  • 780289498_516735
  • 2283262460_516734