999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于彈載嵌入式軟件在線更新方法研究

2023-01-09 11:27:12張永鵬
火控雷達技術 2022年4期
關鍵詞:嵌入式程序

張永鵬

(1.中國電子科技集團公司第三十八研究所 合肥 230088; 2.孔徑陣列與空間探測安徽省重點實驗室 合肥 230088)

0 引言

現有彈載產品中包含大量的DSP、FPGA等嵌入式模塊,在產品生產交付后,伴隨著產品功能、性能的升級改進,需要對內部嵌入式軟件進行更新。傳統嵌入式軟件一般采用專用編程線纜及相應的仿真器連接芯片后對軟件進行更新,此方法需專人操作且操作復雜、靈活性低[1-3]。

本文以某彈載雷達嵌入式DSP芯片TMS320C6713(簡稱C6713)為例,提供一種可靠性高、操作便捷的嵌入式軟件在線更新方法,實現彈載產品嵌入式軟件高效的軟件在線更新。此方法極大地提升了彈載產品軟件在線更新的可靠性、安全性和操作便捷性,具有良好的工程應用價值。

1 在線更新機理

1.1 在線更新原理

嵌入式軟件為了支持在線自更新任務,需要在系統中單獨設計一個區別于正常工作程序模塊,專用于嵌入式軟件更新的在線更新程序模塊,如圖1所示。系統正常工作啟動時通過BootLoader程序(即引導程序)選擇啟動工作程序模塊,此時在線更新程序模塊處于阻塞狀態,當需要進行軟件在線更新時,工作程序模塊接收外部在線更新控制指令,完成在線更新狀態置位(FLASH地址“0x90070000”存儲在線更新標識),同時嵌入式DSP軟件通過調用Jump(0)函數,將嵌入式軟件重新轉入起始0地址開始執行,即可實現進行嵌入式DSP的自復位。復位后,自動重新運行BootLoader程序,此時BootLoader程序根據在線狀態啟動在線更新程序模塊,此時可接收外部待更新的工作程序文件,并將程序文件寫入到工作程序模塊的FLASH儲存地址中,即可完成工作程序模塊的在線更新操作[4-7]。

圖1 在線更新系統架構示意圖

1.2 自啟動原理

C6000系列沒有自帶的FLASH存儲器,需要通過EMIF總線與外擴的FLASH儲存芯片進行通信,因此將程序文件通過EMIF寫入到外擴的FLASH中,系統上電復位后,再通過FLASH進行引導自啟動,C6713啟動時通過EDMA自動將FLASH起始地址的前1KB內容搬移到內部的RAM中,并自動執行該段程序。基于C6713的啟動機制,將BootLoader程序文件寫入FLASH的起始地址的前1 KB的地址區中,BootLoader程序主要功能是將FLASH中存放的在線更新程序或工作程序搬移到C6713的RAM/SDRAM中,再通過調用Jump()跳轉程序,跳轉到程序起始地址,即可執行該段軟件程序[8-12]。

2 軟件設計流程

2.1 在線更新系統架構

基于高可靠、易操作的設計原則,C6713的軟件在線更新主要分為兩部分:第一部分為嵌入式軟件模塊,此模塊主要包含3個子程序模塊,分別為BootLoader程序模塊、在線更新程序模塊和工作程序模塊,主要實現C6713的嵌入式系統的引導、軟件在線更新及正常工作;第二部分為PC端可視化在線更新上位機,主要完成軟件程序文件的生成及“一鍵式”嵌入式系統的軟件在線更新。

如圖2所示,彈載嵌入式系統的軟件在線更新主要由可視化在線更新上位機、RS422串口通信模塊和嵌入式系統組成。可視化在線更新上位機通過RS422通信模塊與嵌入式系統進行相互通信,完成在線更新指令和待更新程序文件的上傳等操作;嵌入式系統與可視化在線更新上位機進行數據的交互,根據在線更新指令完成在線更新狀態的切換,并對接收程序數據文件的正確性、有效性進行判斷,最終完成軟件程序文件的在線FLASH擦寫操作。

圖2 在線更新系統架構示意圖

2.2 嵌入式軟件設計

基于系統在線更新高可靠性、安全性的設計需求,將C6713外掛的軟件程序存儲FLASH劃分為4個獨立的程序區,分別為BootLoader程序區、在線更新程序區和工作程序區,其中工作程序區還分為當前工作程序區和舊工作程序區。FLASH存儲區劃分如圖3所示,其中BootLoader程序區為64KB,在線更新程序區為320KB,前工作程序區和舊工作程序區均為736KB。

圖3 FLASH存儲區劃分示意圖

BootLoader程序區的前4KB存儲二級引導程序,該程序實現將存儲在BootLoader程序區4KB~64KB的三級引導程序搬移到內存中運行,即實現了C6713的FLASH自啟動。三級引導程序根據程序切換狀態將在線更新程序區或工作程序區的FLASH地址的代碼數據搬移到內存中,再跳轉到相應程序入口地址;在線更新程序區用于存儲在線更新程序模塊,該程序實現與可視化在線更新上位機間的通信,并對工作程序區FLASH地址上存儲的工作程序代碼數據進行擦寫操作;當前工作程序區用于存儲最新版本的工作程序代碼數據,用于嵌入式系統的正常工作使用;舊工作程序區用于存儲前一版本的工作程序代碼數據,用于嵌入式系統工作程序的備份和異常情況工作程序版本恢復。

同時,在線更新程序僅可更新“當前工作程序區”和“舊工作程序區”的程序數據,不可更新“BootLoader程序區”和“在線更新程序區”的程序數據,BootLoader程序和在線更新程序僅在出廠時進行更新,以保障該兩段軟件程序代碼的正確性和完整性。在對“工作程序區”的代碼數據進行更新過程中,將已存儲的于“當前工作程序區”的前一版本的工作程序代碼數據向“舊工作程序區”進行搬移,實現了工作程序代碼數據的備份,在工作程序更新失敗、代碼數據錯誤、FLASH局部數據損壞等異常情況下,“當前工作程序區”的代碼數據無法正常工作,在三級引導搬移當前工作程序區數據時,判斷程序數據異常可重新搬移舊工作程序區的備份代碼數據,避免異常程序對系統造成損壞。因此,通過對工作程序的備份設計,可有效地提高系統的可靠性和安全性。

2.2.1 BootLoader程序設計

C6713復位后,通過EDMA自動將存儲在FLASH起始地址的前1KB的BootLoader程序搬移到C6713內部RAM中運行,完成了C6713的FLASH的自啟動及后續工作/在線更新程序的搬移和跳轉。

BootLoader程序的設計流程如下:首先完成系統時鐘、EMIF總線及中斷等初始化;其次,通過EMIF讀取存儲在FLASH地址“0x90070000”的更新狀態標識字,并對該地址的標識字進行有效性校驗;若該標識有效則根據此有效標識判斷本次進入正常工作態或在線更新態若無效則進入在線更新態;若該標識字無效,因在線更新軟件屬于出廠軟件,故則本次在線更新態,并反饋相應狀態。

進入正常工作態后,軟件執行流程如下:

1)首先讀取FLASH存儲器中“當前工作程序區”的新版本程序代碼數據,并對讀取的數據內容進行CRC32校驗,并與存儲的校驗值進行判斷;

2)若新版本代碼數據有效,則將該代碼數據搬移到C6713中的RAM/SDRAM內存中,并跳轉到該程序的入口地址上,執行新版本的工作程序;

3)若新版本代碼數據無效,則讀取FLASH存儲器中“舊工作程序區”的前一版本程序代碼數據,并判斷數據內容的有效性;

4)若前一版本代碼數據有效,則將該代碼數據搬移到C6713中的RAM/SDRAM內存中,并跳轉到該程序的入口地址上,執行前一版本的工作程序;

5)若前一版本代碼數據無效,則轉入在線更新態。

進入在線更新態后,軟件執行流程如下:

1)讀取FLASH存儲器中“在線更新程序區”的在線更新程序代碼數據;

2)將讀取的代碼數據搬移到C6713中的RAM/SDRAM內存中,并跳轉到該程序的入口地址上,執行在線更新程序。

BootLoader程序執行流程如圖4所示。

圖4 BootLoader程序執行流程

2.2.2 在線更新程序設計

在線更新程序通過與可視化在線更新上位機間進行通信,接收上位機下傳的待更新代碼程序數據,將接收到的完整、正確的程序代碼數據更新,并將前一版本的代碼數據進行備份。為提高在線更新過程中的可靠性、安全性,對各個數據包進行握手、重傳、校驗等方式進行處理;同時,完成所有代碼數據的接收后,并對整個程序文件數據進行特殊的CRC32位校驗,確保上傳程序數據文件的正確性和有效性;進一步,對寫入FLASH地址的數據回讀后與待寫入的數據進行對比,確保FLASH寫入數據的準確。

在線更新程序執行流程如下:

1)通過RS422串口采用“握手”方式與PC端的可視化在線更新上位機建立連接;

2)通過握手、校驗、重傳等方式接收可視化在線更新上位機下發的當前程序文件的入口地址、長度、文件特殊校驗碼等信息,再通過分包形式接收程序代碼數據,并將接收的數據存儲到SDRAM中進行臨時存儲;

3)接收完所有代碼數據后,對接收的程序代碼文件進行特殊校驗碼校驗,并與存儲的特殊校驗碼進行判斷,判斷接收的代碼數據文件是否為該嵌入式軟件的程序,確保程序文件的正確性;

4)對各個寫入到FLASH地址的數據進行回讀,與待寫入的數據進行比較,確認寫入FLASH數據的一致性;

5)將前一版本工作程序文件搬移到“舊工作程序區”進行備份;

6)完成所有操作后,更新FLASH地址“0x90070000”的更新狀態標識字為正常工作態,系統再次啟動時可正常進入最新版本工作程序。

在線更新程序設計流程如圖5所示。

圖5 在線更新程序執行流程

2.2.3 工作程序設計

工作程序主要完成彈載嵌入式系統的正常工作。同時,具備與可視化在線更新上位機間進行通信,可接收上位機下發的在線更新指令,更新FLASH地址“0x90070000”的更新狀態標識字為在線更新態,再完成系統的自復位。

2.3 可視化在線更新上位機設計

C6713工作程序通過CCS編譯完成后生成的目標文件類型為*.out和*.map文件,無法直接用于C6713的更新使用,需進行格式轉換[13-16]。因此,可視化在線更新上位機實現了軟件程序文件的格式轉換及與嵌入式系統間的通信交互。

軟件程序*.out和*.map文件轉換*.bin文件的處理流程如下:

1)根據*.map文件獲取程序代碼RAM和SAMR存儲的長度、主函數的入口地址等信息;

2)將*.out文件通過hex6x.exe、*.cmd文件轉換到*.hex;(hex6x.exe為TI公司提供文件轉換可執行程序;*.cmd文件負責C6713的內存分配。)

3)將*.hex轉換到*.bin文件,并計算軟件程序文件的特殊校驗碼;

4)將轉換后的*.bin、特殊校驗碼和讀取的*.map文件中的信息拼接成最終可用于在線更新的*.bin文件。

將最終生成好的*.bin文件采用“一鍵化”操作方式完成與嵌入式系統的信息交互,完成在線更新操作。具體流程如下:

1)在“在線更新上位機”上選擇正確的COM串口,點擊“連接串口”,實現與嵌入式系統的通信;

2)點擊“連接主控”,嵌入式軟件由正常工作程序切換更新狀態并進行自復位,重新進入BootLoader程序,并根據更新狀態啟動在線更新程序;

3)進入在線更新程序后,回饋“在線更新上位機”已進入在線更新態;

4)選擇待更新的程序文件,點擊“燒寫主控軟件”將數據上傳給嵌入式在線更新軟件;

5)完成所有數據上傳后,發送FLASH燒寫指令給在線更新程序,在線更新程序完成待更新代碼數據的FLASH擦寫和程序備份操作。

在線更新軟件流程和上位機界面如圖6、圖7所示。

圖6 可視化在線更新上位機執行流程

圖7 可視化在線更新上位機界面

3 結束語

本文提供了一種高可靠性、安全性和操作簡潔的嵌入式軟件在線更新方法,實現了彈載嵌入式軟件快速、便捷的在線更新。對彈載產品嵌入式模塊的在線更新帶來了極大便利,在實際工程項目中取得了良好的應用效果,對其他嵌入式產品軟件在線更新具有一定的參考價值。

猜你喜歡
嵌入式程序
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 成人午夜精品一级毛片| 欧美a在线| аv天堂最新中文在线| 国产AV毛片| 亚洲浓毛av| 国产极品美女在线播放| 成年看免费观看视频拍拍| 99久久亚洲综合精品TS| 国产av一码二码三码无码| 日韩午夜片| 国产精品 欧美激情 在线播放| 亚洲人成网站日本片| 综合色88| 香蕉eeww99国产精选播放| 99re在线视频观看| 国产成人毛片| 免费毛片在线| 乱人伦中文视频在线观看免费| 久久精品亚洲中文字幕乱码| 亚洲国产日韩视频观看| 亚洲人成网站观看在线观看| 国产精品亚洲专区一区| 欧美狠狠干| 国产精品成人不卡在线观看| 国产精品女人呻吟在线观看| 无码中文字幕乱码免费2| 伊人色在线视频| 女同国产精品一区二区| 澳门av无码| 园内精品自拍视频在线播放| 国产第一页亚洲| 中文字幕第4页| 亚洲国产理论片在线播放| 色有码无码视频| 国产极品美女在线播放| 激情综合激情| 亚洲日本一本dvd高清| 国产一区二区三区夜色| 国产成人禁片在线观看| 色妞永久免费视频| 精品无码一区二区三区在线视频| 女人毛片a级大学毛片免费| 国产乱人免费视频| 国产农村精品一级毛片视频| 国产全黄a一级毛片| 日韩精品无码免费一区二区三区 | 色妺妺在线视频喷水| 国产免费a级片| 国产成人精品亚洲77美色| 狠狠色丁香婷婷综合| 中文精品久久久久国产网址 | 40岁成熟女人牲交片免费| 丁香婷婷在线视频| 无码不卡的中文字幕视频| 4虎影视国产在线观看精品| AV在线天堂进入| 亚洲v日韩v欧美在线观看| 国产精品私拍99pans大尺度| 999在线免费视频| av一区二区三区在线观看 | 国产激情第一页| 久久青草免费91观看| 国产va免费精品| 亚洲最大情网站在线观看| 尤物午夜福利视频| 五月天天天色| 精品一区二区三区四区五区| 人妻少妇乱子伦精品无码专区毛片| 久久久久久高潮白浆| 永久成人无码激情视频免费| 欧美亚洲日韩中文| 亚洲人成色77777在线观看| 午夜性刺激在线观看免费| 亚洲国产av无码综合原创国产| 国产亚洲视频中文字幕视频| 亚洲国产综合精品一区| 午夜国产小视频| 丰满人妻被猛烈进入无码| 真实国产精品vr专区| 欧美福利在线| 丁香五月亚洲综合在线 | 国产精品欧美在线观看|