FPGA程序遠程在線更新設(shè)計
5 Nios II更新程序模塊處理
Nios II程序中的更新程序模塊主要負責(zé)從上位機接收合并后的可執(zhí)行BIN文件,并把該BIN文件寫入EPCS Flash,處理流程如圖6所示。
5.1 程序文件的傳輸
Nios II應(yīng)用程序中的更新程序模塊和上位機系統(tǒng)采用Xmodem協(xié)議傳輸程序文件,Xmodem協(xié)議是一種網(wǎng)口和串口通信中廣泛用到的異步傳輸協(xié)議。
如果在程序傳輸過程中出現(xiàn)錯誤,更新程序模塊能夠通過設(shè)置超時來退出更新程序的狀態(tài)。
5.2 對EPCS Flash的讀寫
由于EPCS Flash的串行配置器件定義了特殊的讀寫協(xié)議,所以Nios II程序只能通過Altera提供的HAL API(Application Program Interface,應(yīng)用程序接口)來完成讀寫Flash。打開、關(guān)閉Flash設(shè)備的API為:alt_flash_open_dev()和alt_flash_close_dev()。操作Flash讀寫的API為:alt_read_flash()和alt_write_flash_block()。清除Flash的API為alt_erase_falsh_block()。
結(jié)語
本文以提高FPGA遠程更新程序的方便性為目標,提出了一種基于EPCS Flash的遠程在線更新FPGA程序的方法,從而在應(yīng)用中能夠使基于FPGA的產(chǎn)品更加方便地維護升級。
評論