绪论
Xilinx FPGA自带一个多重镜像(multiboot)功能,该功能可以使用户在不通过烧录器的情况下改变FPGA的功能。
在我们进行产品开发迭代时,就需要时不时的更新FPGA的代码,如果仅通过烧录器的方式进行更新,这会导致动不动就要拆卸机器,插拔下载器,显得十分不辨。
FPGA的代码实际上都是存储到外挂的flash中,在线升级功能本质上就是更改flash的内容。但由于flash需要进行擦除后重写,这个过程无法避免意外断电或者通信受到干扰导致写入异常数据,若出现这种情况,FPGA将无法正常工作,只能通过烧录器的形式进行代码的更新。
flash的读写结合xilinx的multiboot和fallback功能可实现一个升级较好的解决方案。
后续我编写下面几个文章阐述在线升级功能。
- 升级思路
- s25fl -l系列flash介绍
- flash时钟的产生(STARTUPE2原语)
- 看门狗计数值的计算
- 回退思路
- bin文件解读
- 仿真
- 调试