一種遠程在線(xiàn)更新FPGA程序的方法
在合并程序的過(guò)程中,去掉了flash文件中的長(cháng)度、目的地址等用于解析程序的信息,并且把程序映像由字符格式轉換為二進(jìn)制格式。合并后的BIN文件包含FPGA配置文件和Nios II應用程序,并且Nios II應用程序緊挨在FPGA配置文件的后面,其存儲布局如圖5所示。本文引用地址:http://dyxdggzs.com/article/190734.htm
5 Nios II更新程序模塊處理
Nios II程序中的更新程序模塊主要負責從上位機接收合并后的可執行BIN文件,并把該BIN文件寫(xiě)入EPCSFlash,處理流程如圖6所示。
5.1 程序文件的傳輸
Nios II應用程序中的更新程序模塊和上位機系統采用X-modem協(xié)議傳輸程序文件,X-modem協(xié)議是一種網(wǎng)口和串口通信中廣泛用到的異步傳輸協(xié)議。
如果在程序傳輸過(guò)程中出現錯誤,更新程序模塊能夠通過(guò)設置超時(shí)來(lái)退出更新程序的狀態(tài)。
5.2 對EPCS Flash的讀寫(xiě)
由于EPCS Flash的串行配置器件定義了特殊的讀寫(xiě)協(xié)議,所以Nios II程序只能通過(guò)Altera提供的HAL API(Application Program Inter face,應用程序接口)來(lái)完成讀寫(xiě)Flash。打開(kāi)、關(guān)閉Flash設備的API為:alt flash open_dev()和alt_flash_close_dev()。操作Flash讀寫(xiě)
的API為:alt_read_flash()和alt_write_flash_block()。清除Flash的API為alt_erase_falsh_block()。
結語(yǔ)
本文以提高FPGA遠程更新程序的方便性為目標,提出了一種基于EPCS Flash的遠程在線(xiàn)更新FPGA程序的方法,從而在應用中能夠使基于FPGA的產(chǎn)品更加方便地維護升級。
fpga相關(guān)文章:fpga是什么
評論