当前位置: 首页 > news >正文

PolarFire SOC Auto Update 和 IAP 文档阅读(三) AUTO UPDATE

PolarFire SOC Auto Update 和 IAP 文档阅读(三) AUTO UPDATE

 文档来自:PolarFire FPGA and PolarFire SoC FPGA Programming User Guide

 PolarFire SOC Auto Update 和 IAP 文档阅读一 - 所长 - 博客园

PolarFire SOC Auto Update 和 IAP 文档阅读二 - 所长 - 博客园

 

3.3.3. Auto Update

  

自动更新(Auto Update)的触发条件与核心流程

要实现自动更新,需先满足一个基础前提:必须在用户设计中启用自动更新功能(若未启用,即使满足其他条件也不会触发更新)。
 
具体流程在设备上电时启动,分为两步核心逻辑:
 
  1. 镜像版本选择:设备会读取存储在 SPI 目录中的 “前两个镜像”,并从中筛选出 “版本更新的镜像”(即版本号更高的那个);
  2. 更新触发判断:将筛选出的 “更新版本镜像” 与设备当前已编程的镜像版本对比 —— 若两者版本不一致,自动更新随即触发;若版本一致,则不进行更新。
 
文中提及的 “下图”(the following figure)展示了自动更新编程的 “高层级流程”(即从上电检测到触发更新的整体框架,而非底层细节步骤)。
 

image

 

1. 场景一:设备空白且启动自动更新来编程设备

  • 前提(设备状态):设备为 “空白状态”(即未被编程过,内部无有效镜像或配置数据);
  • 触发原因:主动启动 “自动更新(Auto Update)” 功能;
  • 场景目的:利用自动更新,将 SPI 闪存中存储的有效编程镜像写入空白设备,完成设备的首次编程配置(让空白设备具备基础功能)。

2. 场景二:IAP 恢复的一部分 ——IAP 期间断电或编程部分无效镜像时

  • 前提(触发背景):处于 “IAP(在应用编程)过程中”(即设备已在运行,正通过 IAP 更新镜像);
  • 触发原因:IAP 过程中发生异常中断 —— 要么是突然断电,要么是仅编程了 “部分无效镜像”(镜像未完整写入或数据损坏,无法正常运行);
  • 场景目的:进入 “IAP 恢复流程”,修复 IAP 中断导致的异常状态,确保设备能重新加载有效镜像,恢复正常运行(属于 IAP 故障后的补救机制)。

3. 场景三:自动更新恢复的一部分 —— 自动更新期间断电时

  • 前提(触发背景):处于 “自动更新(Auto Update)过程中”(而非 IAP 过程);
  • 触发原因:自动更新执行期间突然断电,导致更新中断(镜像未完整写入或配置未完成);
  • 场景目的:进入 “自动更新恢复流程”,补全中断的更新操作或加载备用有效镜像,修复自动更新中断的问题,避免设备因更新失败陷入异常状态。

 

image

 

 

该表格(表 3-12:自动更新条件示例)的核心作用是通过具体场景示例,直观展示当 SPI 闪存中存在不同版本的镜像时,自动更新(Auto Update)是否会触发,帮助理解自动更新的版本判断逻辑。

image

 

image