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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值