PolarFire® SoC 固件在线升级(IAP)方案设计
1、文档参考
PolarFire FPGA and PolarFire SoC FPGA Programming User Guide
支持 存储 255个 固件 在 SPI FLASH 里;

2、IAP 升级流程
2.1 综合,布线,生成 bitstream( 可以包含 eNVM和sNVM) 文件
PolarFire FPGA and PolarFire SoC FPGA Programming User Guide 第一章节
2.2 生成 spi 编程文件
AN4660: PolarFire FPGA Auto Update and In-Application Programming Application Note (Ealier AC466) 2.8 章节
2.3 将 xx.spi 文件 写入到 SC-SPI FLASH 中
PolarFire FPGA and PolarFire SoC FPGA Programming User Guide
第10章节, 有很多方法 将固件写入 SC-SPI FLASH
我准备用:10.3.3. Programming the SPI Flash Using MSS
PolarFire® SoC Programming the SPI Flash Using MSS - 所长 - 博客园
2.4 调用 IAP Image Authentication Service 验证 写入的 固件是否正确
PolarFire Family System Services User Guide 5.2章节
2.5 调用 In-Application Programming (IAP) Service ,读取 SC FLASH 的 固件 自动升级 Fabrica
PolarFire Family System Services User Guide 7.2章节
• If IAP is successful, the device is automatically restarted to initialize the new design.
• If IAP fails, the IAP recovery procedure attempts to program the device with image 0.
如果 IAP 成功, 设备会自动重启,执行新的 程序;
如果 IAP 失败,尝试 从 IMAGE 0 恢复!
3、数据框图

4、IAP 系统服务操作流程

个人思考:
1、将xxxx.spi文件写入 FLASH 后,校验成功后,请求 IAP 系统服务过程中,断电怎么办?
PolarFire FPGA and PolarFire SoC FPGA Programming User Guide 3.3章节,SPI Master Programming 有讲
表格 3-5 设备编程启动源
编程功能 描述 启动源
自动编程 编程一个空白设备 设备复位或者重新上电
自动升级 自动更新设备内容 设备复位,重新上电, 系统服务请求
IAP 根据用户请求更新设备内容 系统服务请求
自动恢复 自动恢复设备从编程失败中 设备编程失败后 ,设备上电就会启动, 需要验证

表格 3-6 在特殊环境下 建议更新字段(IAP或者 auto update)
设备 bit文件中只包含 eNVM 内容 bit文件中只包含 sNVM 内容 Security Only Bitstream Fabric and eNVM or sNVM Bitstream
PolarFire PolarFire 设备中没有 eNVM PolarFire 设备中没有 esNVM 不行 ① YES
PolarFire SoC IAP 不建议更新② IAP 不建议更新② 不行 ① YES
Auto Update 可以 ③ Auto Update 可以 ③
表格 3-6 说明了啥, 没怎么看懂, bit 文件中 只包含 eNVM 或者 sNVM 时, 不建议使用 IAP ,方式更新 , 都包含时, 就可以了???
咨询 deepseek:

浙公网安备 33010602011771号