基于arm的多節(jié)點(diǎn)在線更新軟件的方法
【專利摘要】本發(fā)明揭示了一種基于ARM的多節(jié)點(diǎn)在線更新軟件的方法,包括如下步驟:(1)用仿真器下載引導(dǎo)及啟動(dòng)代碼到各板卡,其中引導(dǎo)和啟動(dòng)代碼帶有支持板卡ARM微處理芯片在應(yīng)用編程的USB驅(qū)動(dòng)或者網(wǎng)絡(luò)驅(qū)動(dòng)程序;(2)在上位機(jī)/服務(wù)器上安裝更新應(yīng)用程序的軟件,該軟件能通過(guò)USB或網(wǎng)口識(shí)別出相應(yīng)板卡的地址,能夠選中相應(yīng)板卡下載應(yīng)用軟件;(3)通過(guò)轉(zhuǎn)換軟件或者代碼模塊將HEX或者BIN文件轉(zhuǎn)換成IAP底層模塊能識(shí)別的軟件格式,并存儲(chǔ)到相應(yīng)的位置;(4)需要更新代碼的數(shù)據(jù)包通過(guò)USB?HUB或路由器轉(zhuǎn)發(fā)到各個(gè)板卡,板卡根據(jù)地址信息選擇接收或拋棄數(shù)據(jù)包,地址匹配的數(shù)據(jù)包存儲(chǔ)到相應(yīng)位置完成軟件更新。
【專利說(shuō)明】基于ARM的多節(jié)點(diǎn)在線更新軟件的方法
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明本方法涉及航空電子產(chǎn)品自動(dòng)測(cè)試【技術(shù)領(lǐng)域】,特別是更新軟件的方法。【【背景技術(shù)】】
[0002]在航空電子產(chǎn)品的測(cè)試【技術(shù)領(lǐng)域】,通常采用直接連接仿真器的方式更新應(yīng)用程序,此種方式需要使用仿真器,需要搭建下載環(huán)境的步驟,同時(shí)還需要拆除系統(tǒng)取出板卡單獨(dú)升級(jí)軟件,操作復(fù)雜。
【
【發(fā)明內(nèi)容】
】 [0003]本發(fā)明的目的在于提供一種基于ARM的多節(jié)點(diǎn)在線更新軟件的方法,用以解決現(xiàn)在技術(shù)中需要使用仿真器及搭建下載環(huán)境,同時(shí)還需要拆除系統(tǒng)取出板卡單獨(dú)升級(jí)軟件而導(dǎo)致的操作復(fù)雜的問(wèn)題。
[0004]為實(shí)現(xiàn)上述目的,實(shí)施本發(fā)明的基于ARM的多節(jié)點(diǎn)在線更新軟件的方法,用于更新板卡上的軟件,該板卡通過(guò)USB HUB或路由器與上位機(jī)/服務(wù)器連接,該方法包括如下步驟:
[0005]步驟一:用仿真器下載引導(dǎo)及啟動(dòng)代碼到各板卡,其中引導(dǎo)和啟動(dòng)代碼帶有支持板卡ARM微處理芯片在應(yīng)用編程(IAP, In Application Programming)的USB驅(qū)動(dòng)或者網(wǎng)絡(luò)驅(qū)動(dòng)程序;
[0006]步驟二:在上位機(jī)/服務(wù)器上安裝更新應(yīng)用程序的軟件,該軟件能通過(guò)USB或網(wǎng)口識(shí)別出相應(yīng)板卡的地址(網(wǎng)口為MAC地址),能夠選中相應(yīng)板卡下載應(yīng)用軟件;
[0007]步驟三:由于編譯生成的應(yīng)用代碼一般是HEX或BIN文件,需要通過(guò)轉(zhuǎn)換軟件或者代碼模塊將HEX或者BIN文件轉(zhuǎn)換成IAP底層模塊能識(shí)別的軟件格式,從而能讓IAP底層模塊識(shí)別并存儲(chǔ)到相應(yīng)的位置,如閃存中指定的地址空間;
[0008]步驟四:需要更新代碼的數(shù)據(jù)包通過(guò)USB HUB或路由器轉(zhuǎn)發(fā)到各個(gè)板卡,板卡根據(jù)地址信息選擇接收或拋棄數(shù)據(jù)包,地址匹配的數(shù)據(jù)包存儲(chǔ)到閃存(FLASH)的相應(yīng)位置,從而完成軟件更新。
[0009]依據(jù)上述主要特征,步驟二中的更新應(yīng)用程序的軟件可以設(shè)計(jì)成組件,嵌入到系統(tǒng)自身的上位機(jī)的應(yīng)用軟件中。
[0010]與現(xiàn)有技術(shù)相比較,與現(xiàn)有技術(shù)相比較,本發(fā)明對(duì)基于ARM的嵌入式設(shè)備通過(guò)USB或網(wǎng)口更新應(yīng)用程序,無(wú)論是單板系統(tǒng)還是通過(guò)USB HUB或網(wǎng)絡(luò)互連的多板系統(tǒng)均可以做到免拆升級(jí)應(yīng)用程序,如此可以避免使用仿真器,省去搭建下載環(huán)境的步驟,操作簡(jiǎn)單方便,是外場(chǎng)更新軟件的強(qiáng)力工具。
【【專利附圖】
【附圖說(shuō)明】】
[0011]圖1為實(shí)施本發(fā)明基于ARM的多節(jié)點(diǎn)在線更新軟件的方法的系統(tǒng)的組成框架圖。
[0012]圖2為實(shí)施本發(fā)明基于ARM的多節(jié)點(diǎn)在線更新軟件的方法的基于USB總線的測(cè)試設(shè)備的組成示意圖。
[0013]圖3為代碼升級(jí)方法的流程示意圖。
【【具體實(shí)施方式】】
[0014]請(qǐng)參閱圖1所示,為實(shí)施本發(fā)明基于ARM的多節(jié)點(diǎn)在線更新軟件的方法的系統(tǒng)的組成框架圖。實(shí)施本發(fā)明基于ARM的多節(jié)點(diǎn)在線更新軟件的方法的系統(tǒng)包括上位機(jī)/服務(wù)器,該上位機(jī)/服務(wù)器與USB HUB或路由器連接,而每一USB HUB或路由器與多個(gè)板卡連接。
[0015]針對(duì)圖1所揭示的系統(tǒng),實(shí)施本發(fā)明的基于ARM的多節(jié)點(diǎn)在線更新軟件的方法包括如下步驟:
[0016]步驟一:用仿真器下載引導(dǎo)及啟動(dòng)代碼到各板卡,其中引導(dǎo)和啟動(dòng)代碼帶有支持板卡ARM微處理芯片IAP (In Application Programming在應(yīng)用編程)的USB驅(qū)動(dòng)或者網(wǎng)絡(luò)驅(qū)動(dòng)程序;
[0017]步驟二:在上位機(jī)/服務(wù)器上安裝更新應(yīng)用程序的軟件,該軟件能通過(guò)USB或網(wǎng)口識(shí)別出相應(yīng)板卡的地址(網(wǎng)口為MAC地址),能夠選中相應(yīng)板卡下載應(yīng)用軟件,該軟件可以設(shè)計(jì)成組件,嵌入到系統(tǒng)自身的 上位機(jī)的應(yīng)用軟件中;
[0018]步驟三:由于編譯生成的應(yīng)用代碼一般是HEX或BIN文件,需要通過(guò)轉(zhuǎn)換軟件或者代碼模塊把HEX或者BIN文件轉(zhuǎn)換成IAP底層模塊能識(shí)別的軟件格式,從而能讓底層的IAP模塊識(shí)別并存儲(chǔ)到相應(yīng)的位置,如FLASH中指定的地址空間;
[0019]步驟四:需要更新代碼的數(shù)據(jù)包通過(guò)USB HUB或路由器轉(zhuǎn)發(fā)到各個(gè)板卡,板卡根據(jù)地址信息選擇接收或拋棄數(shù)據(jù)包,地址匹配的數(shù)據(jù)包存儲(chǔ)到FLASH相應(yīng)位置,從而完成軟件更新。
[0020]為對(duì)本發(fā)明更清楚的理解,以下以一實(shí)例進(jìn)行說(shuō)明。
[0021]請(qǐng)參閱圖2所示,為實(shí)施本發(fā)明基于ARM的多節(jié)點(diǎn)在線更新軟件的方法的基于USB總線的測(cè)試設(shè)備的組成示意圖。該基于USB總線的測(cè)試設(shè)備包括測(cè)試單元和測(cè)試適配器兩部分,其中測(cè)試單元的測(cè)試機(jī)箱中設(shè)置多個(gè)資源模塊,這些資源模塊通過(guò)USB總線在計(jì)算機(jī)的控制下,運(yùn)行測(cè)試單元測(cè)試程序,實(shí)現(xiàn)整個(gè)測(cè)試過(guò)程的自動(dòng)化。其中USB總線最多支持7層級(jí)聯(lián),最大連接127個(gè)設(shè)備,支持熱插拔,是小型化測(cè)試設(shè)備良好的總線解決方案。
[0022]測(cè)試單元的繼電器開(kāi)關(guān)卡、RS422測(cè)試卡、離散量測(cè)試卡均以STM32F103微處理器為核心處理器,引導(dǎo)和啟動(dòng)代碼存放到地址為0x08000000—0x08002FFF地址空間中,應(yīng)用代碼將被加載到從0x08003000開(kāi)始的地址空間。
[0023]測(cè)試單元中的計(jì)算機(jī)通過(guò)USB總線控制測(cè)試單元中的各板卡進(jìn)行測(cè)試,其中繼電器板卡主要實(shí)現(xiàn)信號(hào)切換功能,數(shù)字多用表卡可以測(cè)量信號(hào)的電壓、電流、電阻和頻率等,RS422測(cè)試卡能夠?qū)崿F(xiàn)RS422信號(hào)測(cè)試,根據(jù)測(cè)試對(duì)象不同可以配備O~32V的離散量板卡。
[0024]這些板卡輸入輸出端用相應(yīng)連接器和線纜實(shí)現(xiàn)整體的信號(hào)調(diào)理,然后連接到G12測(cè)試接口陣列,接口陣列由各種標(biāo)準(zhǔn)測(cè)試連接器組成。被測(cè)模塊接口通過(guò)適配器與測(cè)試平臺(tái)的G12測(cè)試接口陣列相連,適配器主要實(shí)現(xiàn)把被測(cè)模塊的信號(hào)連接到平臺(tái)相應(yīng)的測(cè)試點(diǎn)上,測(cè)試點(diǎn)在G12測(cè)試接口陣列中有具體定義。這樣就實(shí)現(xiàn)了一個(gè)整體的測(cè)試系統(tǒng),對(duì)被測(cè)模塊進(jìn)行測(cè)試。[0025]請(qǐng)參閱圖3所示,對(duì)測(cè)試單元的升級(jí)方法如下:
[0026]當(dāng)啟動(dòng)或復(fù)位板卡時(shí),如果檢測(cè)到需要更新代碼的離散量則進(jìn)入IAP模式,通過(guò)該模式即可下載應(yīng)用程序到STM32F103中。如果沒(méi)有激活該離散量,則程序運(yùn)行后PC指針跳轉(zhuǎn)到0x08003000應(yīng)用程序地址初始地址,運(yùn)行應(yīng)用程序。在某板卡進(jìn)入IAP模式后,在板卡枚舉時(shí)識(shí)別出該板卡,當(dāng)選擇好下載代碼后將代碼數(shù)據(jù)包通過(guò)廣播方式發(fā)送到終端設(shè)備,終端設(shè)備如與數(shù)據(jù)包地址信息匹配就將數(shù)據(jù)捕獲并存儲(chǔ)到相應(yīng)的地址空間。終端設(shè)備的操作依賴于燒寫(xiě)在0x08000000?0x08002FFF地址空間的啟動(dòng)代碼。
[0027]在上述的應(yīng)用中,測(cè)試軟件分上位機(jī)測(cè)試軟件和測(cè)試單元固件兩部分,其中上位機(jī)測(cè)試軟件開(kāi)發(fā)采用VISUAL C++6.0和Labview8.6的編程環(huán)境。
[0028]可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種基于ARM的多節(jié)點(diǎn)在線更新軟件的方法,用于更新板卡上的軟件,該板卡通過(guò)USB HUB或路由器與上位機(jī)/服務(wù)器連接,該方法包括如下步驟: 步驟一:用仿真器下載引導(dǎo)及啟動(dòng)代碼到各板卡,其中引導(dǎo)和啟動(dòng)代碼帶有支持板卡ARM微處理芯片在應(yīng)用編程的USB驅(qū)動(dòng)或者網(wǎng)絡(luò)驅(qū)動(dòng)程序; 步驟二:在上位機(jī)/服務(wù)器上安裝更新應(yīng)用程序的軟件,該軟件能通過(guò)USB或網(wǎng)口識(shí)別出相應(yīng)板卡的地址并選中相應(yīng)板卡下載應(yīng)用軟件; 步驟三:通過(guò)轉(zhuǎn)換軟件或者代碼模塊將HEX或者BIN文件轉(zhuǎn)換成IAP底層模塊能識(shí)別的軟件格式,并存儲(chǔ)到相應(yīng)的位置; 步驟四:需要更新代碼的數(shù)據(jù)包通過(guò)USB HUB或路由器轉(zhuǎn)發(fā)到各個(gè)板卡,板卡根據(jù)地址信息選擇接收或拋棄數(shù)據(jù)包,地址匹配的數(shù)據(jù)包存儲(chǔ)到相應(yīng)位置而完成軟件更新。
2.如權(quán)利要求1所述的基于ARM的多節(jié)點(diǎn)在線更新軟件的方法,其特征在于:步驟二中的更新應(yīng)用程序的軟件設(shè)計(jì)成組件,嵌入到系統(tǒng)自身的上位機(jī)的應(yīng)用軟件中。
【文檔編號(hào)】G06F9/445GK103617061SQ201310652598
【公開(kāi)日】2014年3月5日 申請(qǐng)日期:2013年12月5日 優(yōu)先權(quán)日:2013年12月5日
【發(fā)明者】覃勇為, 陳陣, 孫佳 申請(qǐng)人:中國(guó)航空無(wú)線電電子研究所