基于FPGA的在线升级
- 在线升级的意义
- 在线升级的策略
- 整体框架
- 总结
- 参考文献
- 结束语
在线升级的意义
首先什么是FPGA的在线升级r> 所谓FPGA的在线升级其实就是不对FPGA进行常规意义下的下载程序,便可以通过一些手段更新FPGA中的程序,一般用到的工具有ICAP原语、flash。那个该问题的解决将面临两个问题:
1、如何将新的FPGA程序下载到flash中;
2、如何让FPGA执行新的程序;
FPGA在线升级的意义r> 我们为什么要花费这么大的代价去学习FPGA的在线升级,有一个很重要的原因就是:调试时,我们一般用JATG接口进行烧录、调试,但是等产品上线时,因为JATG接口过于笨重,我们一般是不保留该接口;在没有这个接口的情况下要想下载新的程序,就必须使用在线升级。
在线升级的策略
这里需要掌握的一个知识是,FPGA默认从flash中读取程序是从0地址读取的。我们回忆以下电脑中操作系统的加载,在电脑中首先加载的是一个引导程序,该引导程序指导着对应操作系统的加载,那么对应到FPGA中我们使用同样的办法。首先再FPGA的默认起始点(flash的0地址)下载一个引导程序,然后在引导程序中包含ICAP原语,在一定的条件下,使得FPGA从flash中加载新的FPGA程序。
从上面的分析我们可以打先FPGA在线升级的最关键的问题就是引导程序的书写,这里先给出一般引导程序的设计模块:
总结
该策略我并没有验证,但是从理论上是可行的,主要是因为上一篇文章的ICAP原语没有下板验证通过,自己也没有进行更深入的调试,但是该理论方案是彻底可行的。
参考文献
[1] V3学院
结束语
创作不易,认为文章有帮助的同学们可以收藏点赞支持。(工程也都在群中)对文章有什么看法或者需要更近一步交流的同学,可以加入下面的群:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!