对于 Eagle、 EF2/3 系列的 FPGA,在对外部 flash 进行程序加载时,支持 Dual Boot
(双启动模式)和 Multi Boot(多启动模式)。
双启动模式是指在 SPI FLASH 中存放了两套 FPGA 位流,上电后 FPGA 首先加载
Primary 位流,如果 Primary 位流出错导致加载失败,则会根据 Golden Address(跳转地
址)去加载 Golden 位流。双启动模式下, 数据空间分布如下图所示:
Eagle 系列 FPGA 在默认情况下就支持双启动模式,即在上电后会默认从 FLASH 的
0 地址加载程序,如果 0 地址开始的位流被破坏导致 FPGA 程序加载失败,则 FPGA 会
到 0X0D0000 地址读取跳转地址, 然后从指定的跳转地址去加载位流。
使用双启动模式的步骤为:
1. 在 Download 界面中, 选择下载模式为 Dual Boot;
2. 通过 Add 按钮添加需要下载到 FLASH 中的两个位流文件;
3. 设置 Default 位流(Primary 地址段)和 Golden 位流(Golden 地址段);
4. 设置 Golden 位流存放的起始地址。注意, Golden 存放地址只能大于 0X0D0000,
默认为: 0X0E0000;
5. 点击 Run 下载位流。
多启动模式是指用户可以在 SPI FLASH 中存放两套或者多套 FPGA 位流,上电后
FPGA 首先加载 Primary 位流,然后在 Primary 位流的 FPGA 代码中可以控制 FPGA 从
指定地址加载位流。多启动模式下,数据空间分布如下图所示:
使用多启动模式前,用户需要在代码中调用以下 IP 单元:
EG_LOGIC_MBOOT #(“DYNAMIC”,8’h00) mboot(rebootn, dynamic_addr);
其中, dynamic_addr 为 8 位 FLASH 地址,是 24 位 FLASH 地址的高 8 位,在设置
好地址后,通过给 rebootn 一个低脉冲,即可实现从 dynamic_addr 指定地址重新加载
FPGA 程序。
在 TD Download 界面中,需设置下载模式为 MULTI BOOT,并指定用于跳转的
bit 文件的 Start Address, 该地址需和 dynamic_addr 相同。
没有回复内容