FPGA程序远程在线更新设计
5 Nios II更新程序模块处理
Nios II程序中的更新程序模块主要负责从上位机接收合并后的可执行BIN文件,并把该BIN文件写入EPCS Flash,处理流程如图6所示。
5.1 程序文件的传输
Nios II应用程序中的更新程序模块和上位机系统采用Xmodem协议传输程序文件,Xmodem协议是一种网口和串口通信中广泛用到的异步传输协议。
如果在程序传输过程中出现错误,更新程序模块能够通过设置超时来退出更新程序的状态。
5.2 对EPCS Flash的读写
由于EPCS Flash的串行配置器件定义了特殊的读写协议,所以Nios II程序只能通过Altera提供的HAL API(Application Program Interface,应用程序接口)来完成读写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的产品更加方便地维护升级。
评论