一种远程在线更新FPGA程序的方法
在合并程序的过程中,去掉了flash文件中的长度、目的地址等用于解析程序的信息,并且把程序映像由字符格式转换为二进制格式。合并后的BIN文件包含FPGA配置文件和Nios II应用程序,并且Nios II应用程序紧挨在FPGA配置文件的后面,其存储布局如图5所示。本文引用地址:https://www.eepw.com.cn/article/190734.htm
5 Nios II更新程序模块处理
Nios II程序中的更新程序模块主要负责从上位机接收合并后的可执行BIN文件,并把该BIN文件写入EPCSFlash,处理流程如图6所示。
5.1 程序文件的传输
Nios II应用程序中的更新程序模块和上位机系统采用X-modem协议传输程序文件,X-modem协议是一种网口和串口通信中广泛用到的异步传输协议。
如果在程序传输过程中出现错误,更新程序模块能够通过设置超时来退出更新程序的状态。
5.2 对EPCS Flash的读写
由于EPCS Flash的串行配置器件定义了特殊的读写协议,所以Nios II程序只能通过Altera提供的HAL API(Application Program Inter face,应用程序接口)来完成读写Flash。打开、关闭Flash设备的API为:alt flash open_dev()和alt_flash_close_dev()。操作Flash读写
的API为:alt_read_flash()和alt_write_flash_block()。清除Flash的API为alt_erase_falsh_block()。
结语
本文以提高FPGA远程更新程序的方便性为目标,提出了一种基于EPCS Flash的远程在线更新FPGA程序的方法,从而在应用中能够使基于FPGA的产品更加方便地维护升级。
fpga相关文章:fpga是什么
评论