近期,我們收到許多粉絲朋友的技術問題反饋,為便于大家的學習,小編整理了一系列常見問題的技術指南,將陸續分期發布,請大家敬請關注“小眼睛FPGA”微信公眾號,在FPGA的世界里,我們努力把復雜的技術變得簡單有趣,記得給我點贊留言,讓我知道你也在這趟奇妙的旅程里哦。
遠程升級簡
遠程升級的實質是通過遠程且不影響當前芯片工作狀態的方式實現芯片的代碼版本升級或回退。本例程采用基于SPI Master和BPI Master接口的遠程升級方案,在遠程升級的過程中,用戶通過通信協議(如TCP/IP,PCI,UDP,UART等,本例程使用UART)或專用接口從遠端接收位流,通過用戶SPI接口將位流編程到外部Flash,實現代碼的遠程升級。
實驗環境
操作步
第一步:代碼準備在遠程升級位流中,用戶通過將合并位流(開關程序+跳轉程序+黃金位流+應用位流)寫入到外部Flash芯片,利用遠程升級程序更新應用位流。因此固化在外部Flash中的程序,無論是黃金位流還是應用位流都需要包含升級程序。黃金位流可以理解為一個保底程序,當更新應用位流出現問題時,FPGA可回退到黃金位流版本,重新進行應用位流的代碼升級。應用位流在包含升級程序的同時,添加上用戶自己設定的功能代碼。Logos2系列的FPGA器件支持1~3個應用位流,本例程以一個應用位流為例進行演示,應用位流中的用戶程序為流水燈實驗。
*圖1:代碼準備
以盤古100Pro開發板demo為例,demo中提供了兩個工程,分別為黃金位流對應的工程和應用位流對應的工程。用戶后續只需對remote_update_applied工程中的用戶程序進行修改即可。
*圖2:提供代碼
第二步:sbit格式轉換分別將黃金位流對應工程的sbit文件和應用位流對應工程的sbit文件進行轉換,轉為Flash的.sfc文件。
*圖3:黃金位流工程sbit格式轉換
*圖4:應用位流工程sbit格式轉換
第三步:合并位流將黃金位流文件和應用位流文件合并為一個合并位流文件。在Convert File Dialog界面中選擇Generate Multi Revision File功能,正確選擇器件類型(盤古50K為PGL50H,盤古100Pro為PGL100H)和位流類型(SPI Upgrade Data Stream),并勾選Enable Set Start Address選項。需要注意,應用位流的Start Address需要與兩個工程中頂層文件設定的USER_BITSTREAM_ADDRESS一致。
*圖5:盤古50K合并應用位流
*圖6:盤古100Pro+合并應用位流
第四步:代碼固化將生成的合并位流文件固化到外部Flash中。注意自己合并位流文件存放的位置,合并位流文件包含“_mul”后綴。
*圖7:合并位流固化
第五步:位流文件更新代碼固化后,FPGA會自動加載應用位流程序(需要幾十秒時間),顯示流水燈。由于應用位流文件帶升級程序,可以通過串口發送對應命令,實現應用位流文件更新操作。與升級程序相關的操作命令及返回值如下圖所示。
*圖8:操作命令及返回值
應用位流文件的升級步驟如下(注意發送和接收均需勾選十六進制表示):
1.上位機下發寫位流使能命令,等待FPGA擦除開關程序和應用位流。本例程只定義了位流1的起始地址,因此發送寫位流1使能(e7 e7 e7 e7 11),擦除完成FPGA發送給上位機完成命令(55 05 01)。
2. 上位機收到擦除完成標志后,發送新的應用位流文件(注意,此處是經過sbit格式轉換得到的.sfc文件)和位流結束標志(7e 7e 7e 7e)。當上位機收到(55 05 10)則表示寫應用位流完成,可進行下一步操作??梢宰x位流進行校驗,也可以重復前兩步操作,再次寫位流文件。
3. 上位機下發讀位流使能,讀位流進行校驗。這里發送讀位流1使能(e7 e7 e7 e7 51),當校驗完成后FPGA上報校驗結果。(55 03 01)表示校驗結果為正確,(55 03 00)表示校驗結果錯誤。
4. 上位機發送打開開關使能命令,這里發送打開開關1使能(e7 e7 e7 e7 0e 41)。打開完成后,FPGA發送給上位機完成標志(55 05 04)。
5. 上位機下發熱啟動使能(e7 e7 e7 e7 04 01),加載新的應用位流。若上步的校驗結果為錯誤,則加載黃金位流。
6. 若只是切換應用位流,不更新應用位流,其操作如下。
7.上位機下發單獨擦除開關使能命令,擦除所有開關程序。擦除完成FPGA發送給上位機完成標志( 55 05 02)。
8. 上位機發送打開開關使能命令。打開完成后,FPGA發送給上位機完成標志(55 05 04)。
9.上位機下發熱啟動使能,加載新的應用位流。為了簡化切換位流啟動的流程,可關閉校驗使能。
注:以上操作僅對深圳市紫光同創電子有限公司提供的《Logos2系列FPGA遠程升級應用指南》文檔的實際操作步驟進行補充說明。更多詳細信息請查看紫光同創提供的應用指南及用戶手冊。
原文標題:【干貨】基于串口的FPGA遠程升級
文章出處:【微信公眾號:小眼睛科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
怎樣選擇合適的串口服務器?
STM32/GD32開發板基本串口RS232\\RS485通信及CAN接口 usbhid升級 U盤升級 sd卡升級升級學習方案開發板
PLC網關,plc遠程通信 ——?跨越距離遠程控制運維升級

串口PLC怎么通過云網關遠程監控上下載程序

低功耗4G模組Air780E快速入門:固件的遠程升級

低功耗4G模組Air780E的固件的遠程升級操作方法

評論