当前位置:   article > 正文

FPGA MultiBoot

fpga multiboot

Xilinx FPGA的多启动镜像方案为MultiBoot。
该方案的目的是:
当FPGA更新程序时无法加载成功或者工作不正常的时候,可以通过加载Golden Image备份镜像来重新加载进行恢复。

在这里插入图片描述

1. MultiBoot工作流程

Flash中划分为两个(或多个)区域,基地址(Addr0)存储Golden image备份程序,高位地址存储MultiBoot image升级程序。Golden image中除了备份程序还内嵌了multiboot启动地址(WBSTAR)和IPROG命令。
在这里插入图片描述

FPGA加载启动流程:
FPGA上电后先加载0地址的Golden image,当执行到IPROG命令时跳转地址到WBSTAR地址继续加载MultiBoot image进行程序升级。若在加载过程中错误或中断,则Fallback回到0地址执行Golden image,同时忽略热启动地址和IPROG命令,以确保可以正常加载启动FPGA。
在这里插入图片描述

2. IPROG命令

Xilinx的Multiboot方案中使用了一条加载命令:IPROG。而这条命令是放在Golden image中。

在这里插入图片描述

具体说,对于FPGA直接从0地址开始读取,先开始加载Golden image,但是这个镜像是经过特别处理的,在镜像数据刚开始的部分添加了IPROG命令和MultiBoot image的地址。当FPGA读取到这个命令之后,就会直接跳过后面的数据,从设置的地址开始继续加载。
当发生了Fallback之后,工程会反跳回0地址开始加载,从新加载G镜像。这里,FPGA内部的配置寄存器会做记录,当发生Fallback之后,会自动忽略IPROG命令,直接加载G镜像后续的部分,来保证G镜像有机会被完整的加载。

链接Xilinx 7系列FPGA Multiboot介绍: link.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/394874
推荐阅读
相关标签
  

闽ICP备14008679号