《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CDMA網絡的嵌入式設備遠程升級系統
基于CDMA網絡的嵌入式設備遠程升級系統
來源:電子技術應用2014年第2期
朱偉斌1,張 濤2,顧海濤2,鄧新欣2
1. 杭州電子科技大學 電子信息學院, 浙江 杭州310018; 2. 聚光科技(杭州)股份有限公司, 浙江 杭州310018
摘要: 針對利用仿真器更新程序繁瑣的問題,提出了一種全新的基于CDMA網絡的遠程升級解決方案。通過特殊的“常量定位”方式,實現引導升級合一和內嵌到應用程序的目的。采用虛擬復位技術,簡化了升級流程。上位機通過Internet和CDMA網絡與終端通信,支持數據包的斷點續傳,通過查看數據窗口中解析的數據包,實時了解升級的進度。測試結果表明,該方案提高了固件升級的便捷性,降低了升級的成本,有一定的參考價值。
中圖分類號: TN92
文獻標識碼: B
文章編號: 0258-7998(2014)02-0135-04
Embedded device remote upgrade system based on CDMA network
Zhu Weibin1, Zhang Tao2, Gu Haitao2, Deng Xinxin2
1. Department of Electrical Information, Hangzhou Electronic and Information University, Hangzhou 310018, China;2. Focused Photonics(Hangzhou), Inc., Hangzhou 310018, China
Abstract: In this paper, we propose an absolutely new remote upgrade solution for embedded device based on CDMA network in order to solve the problem of fussy process in using the emulator. The method can reach the goal of the combination of bootloader and upgrading program. At the same time, they can be embedded into application program by special“constant position” pattern. What’s more, we simplify the upgrading process by adopting virtual reset technology. The upper computer will communicate with terminal via Internet and CDMA network, support breakpoint resume and can achieve the updating schedule viewing parsed packets in data window. The experimental results prove that the solution is useful to improve the facility of firmware upgrade and can reduce the cost.
Key words : embedded device; remote upgrade; virtual reset; breakpoint resume ;CDMA

    近年來,隨著計算機技術及集成電路技術的發展,嵌入式設備廣泛應用于通信、網絡、工控、醫療、電子等領域。隨著用戶需求的提升,設備的升級越來越頻繁。然而有些設備安裝在高空高壓環境下,作業危險性很大。因此,需要一套行之有效的設備管理及升級方案,讓操作人員可以通過無線的方式[1]進行產品的升級和維護。
    本文的軟件升級方案以TI公司的MSP430F5438A[2]為例,通過片內Flash備份,引導升級合一,常量定位,虛擬復位等方式,避免了程序升級需要上電復位及設備意外掉電導致升級失敗等風險,使終端設備實現了軟件升級遠程化,無需引導等待,掉電可恢復,數據包可斷點續傳,穩定可靠的目的。
1 基本原理
1.1遠程升級系統介紹

    CDMA2000 1X是CDMA2000第三代無線通信系統的第一個階段,完全兼容IS-95,采用碼分和頻分結合的多址技術。CDMA2000 1X的空中信道支持的調制方式在兼容CDMAOne的基礎上進行了極大的增強,單個用于傳輸分組數據的空中信道的最大傳輸速率可以達到307.2 kb/s,是真正意義上的第三代移動通信系統[3]。如圖1所示,本方案中上位機作為網絡服務器,將升級代碼借助Internet、CDMA網絡發送到遠程終端的CDMA模塊中。MSP430讀取模塊中的緩存,存入到內部的Flash中,待遠程終端接收完全部的升級代碼并校驗正確后開始升級。

1.2 升級實現原理介紹
    本方案將程序存儲空間劃分為Boot區、Code區、Temp區、Flag區和Vector區。Boot區存放基本的Flash讀寫、標志判斷等代碼(不含通信處理及基本操作);Code區存放完整的應用程序工程代碼(含通信處理及基本操作);Temp區用于備份程序區的代碼;Flag區是專門存放升級標志位的特殊區域;Vector區用于備份程序區的中斷向量。其中Boot區代碼使用特殊的“常量定位”方式添加到應用程序中,與Code區的應用程序一次編譯完成,且Boot區提供UpdateAPI函數供Code區調用。
    MSP430F543A的Code Flash最多為256 KB,共128段,擦除的時候必須按段擦除,寫入或者讀出的時候按字或者字節進行操作。在Main Flash 中每段seg均為512 B,在Information Flash中每段為128 B。由于BankA分為0x40000-0x45bff和0x5c00-0xffff兩部分,段擦除會將兩部分都擦除,故在BankA中不使用0x40000-0x45bff(共23 KB),用戶中斷向量和備份中斷向量各為512 B,占據1 KB,Boot區分配16 KB。由于要程序升級可恢復,故做成備份的模式,這樣就達到了Temp區和Code區均為(256 KB-23KB-1 KB-16 KB)/2=108 KB的最佳效果。
    在應用程序中下載完代碼并校驗正確后置位升級進度,通過虛擬復位跳轉到Boot區,讀取升級標志位來選擇相應的處理。如果置位的是下載完成標志,則按照分塊交換的理念,逐個相對應地交換,待全部交換完成,則跳轉到應用程序入口,開始執行交換后的新應用程序,如圖2所示。

 

 

2 關鍵技術
2.1 常量定位技術

    一個函數的入口地址稱為函數的指針??梢杂靡粋€指針變量指向函數,然后通過該指針變量調用此函數。而Const常量定位技術就是從此衍生出來的。
 在本方案中首先建立一個完整的工程,編寫Boot區代碼。開辟一段專門空間(0x5c00-0x5cff)來存儲Boot區函數的入口地址,得到Boot區txt格式的文件,轉換成16進制數據文件后,通過靜態存儲的方式定位到實際運行程序中在Boot區開辟的固定區間內(0x5c00-0x9bff),Code區通過Boot區提供的UpdateAPI函數入口地址,將其轉換成Code區函數后供自己調用。
    為了防止誤升級,在Boot區定義一個讀取軟件版本信息的函數int s_Boot_GetUpdateVersion( ),此函數在Boot區的入口地址是56 6d,把它存放在0x5c00-0x5c01的空間內。在Code區中加入轉換后的Boot區代碼后,再自定義函數int(*Boot_GetUpdateVersion)(),然后將存儲在0x5c00-0x5c01處的s_Boot_GetUpdateVersion入口地址賦給該函數,接著調用Code區的(*Boot_GetUpdateVersion)()函數即可實現軟件版本信息讀取的功能。
   可見通過常量定位這種方式,可以將應用程序和Boot程序一次編譯完成,Boot區提供UpdateAPI函數供Code區調用。
2.2 虛擬復位技術
    所謂的虛擬復位不是通過產生外部的復位信號來迫使單片機復位,而是通過改變PC指針實現程序的跳轉。通常的方法是在C語言中內嵌匯編語言來實現。只要在需要復位的地方嵌入匯編語言[4] asm("mov &0xFFFE,PC")即可實現虛擬復位[3]。然而內嵌匯編總是存在諸多麻煩,因此,提出一種新的虛擬復位方法:
    ((void (*)(void))0x5d00)();
    由于0x5d00是復位地址,故把它強制轉換成指向函數的指針,然后調用此函數,達到程序復位的目的。同時這種方法也解決了升級中存在的一個比較嚴重的問題:由于虛擬復位是通過內嵌的方式提供API函數供Code區函數調用的,而Code區的起始地址是0x9c00,則虛擬復位后的PC指針指向就是0x9c00,而不是Boot區的0x5d00。所以Code區的應用程序在執行虛擬復位時,無法跳轉到Boot區,這樣在Boot區要完成的代碼交換也將無法進行??梢姶朔N無需嵌入匯編的方法,簡單方便且切實可行。
2.3 斷點續傳技術
    UDP協議被稱為一種不可靠的傳輸協議,因為從發送方到接收方的傳遞過程中出現數據包的丟失,協議本身并不能做出任何檢測和提示,但具有TCP所望塵莫及的速度優勢。為了使遠程升級系統既獲得實時的性能,又獲得相對可靠性,必須在上層應用程序中完成安全和排序等功能,并建立可靠傳遞機制。
    在本方案設計中,專門在Information Flash中開辟一段空間0x1800—0x187f,用來記錄當前經過CRC16校驗正確后的數據包數。為了保證Flash擦除的方便和穩定,規定數據包中數據的長度必須為128 B、256 B或者512 B,若所要傳輸的數據小于規定字節數,需在數據包中填充0xff方法以保證數據的一致性。當由于網絡不穩定或者斷電等突發情況下導致升級失敗時,若再次啟動升級,終端設備要首先讀取當前數據包數,擦除Flash中空余的存儲空間,然后發送含有當前數據包數的升級配置數據包給上位機,上位機在獲得當前命令包后計算下一數據包在解析文件中的位置,并組包發送。從而避免了相同數據包的重復發送和Flash的全部擦除。
3 上位機軟件設計
 上位機方案采用Visual C++中的MFC對話框編程,其中的關鍵是對升級文件TXT文件的處理。@為地址引導符,其后數據為地址,即接下來代碼所存入的Flash地址起始位置。如果地址為0xFF80-0xFFFF,則為中斷向量地址,特別@后面的FFFE是應用程序中斷向量表中的復位地址。q為結束字符,表明文件結束。
    上位機完成對文件的解析后,通過數據包與終端進行交互。數據包定義如表1所示。

    其中命令碼是用來區分數據包所要執行的具體操作。由于尋址范圍超過了64 KB,故采用4 B來表示地址信息。
4 風險避免措施
    升級中不可避免地存在各種風險,本方案采取如下措施: (1)將Code區和Temp劃分為若干塊,每次完成塊交換后,都將置備份標志,如果交換過程中有一塊交換不成功則再次虛擬復位,通過升級標志位的判斷進行恢復處理,將已經和Temp交換的部分再次交換回來保證原程序依然可用。(2)在下載代碼的過程中,每一包數據在上位機都計算CRC16校驗值,然后單片機接收數據后重新計算CRC16值,如果兩者相等才認為這包數據正確,給出正確回應[5]。(3)遇到在應用程序中代碼下載不完整或者代碼下載時斷電的情況,可通過讀取升級進度標志,單片機重新復位后不會在Boot區中進行代碼交換。(4)專門劃分一個區域用于記錄升級進度信息,通過修改進度信息來進行相應的處理[5]。(5)在等待升級完成的過程中,發送一定數目的升級完成確認包(地址信息為01 01 01 01,命令碼為88),如果收到回應,則確認升級完成。(6)本方案并不擦除原來的程序,只是將Code區和Temp區互換,所以可以實現升級區變為備份區,備份區變為升級區,等待下次文件的寫入,也可以按照需求還原程序。通過這種校驗、存儲、替換的方式,可以有效地降低由于傳輸錯誤導致升級失敗的風險。
5 測試結果及總結
 為了保證通信的速率和穩定,本測試設置通信超時為5 s,重發次數為5次。即發送的數據包如果5 s內沒有回應,則重發。重發次數最多為5次,否則提示升級失敗。打開端口后,等待設備的登錄,登錄成功且升級文件解析正確后才可進行升級。點擊“程序升級”按鈕,上位機和終端開始交互。終端接收完正確數據后,虛擬復位完成Code區和Temp區的代碼交換。運行新程序后終端重啟CDMA模塊仍然發送包含新IP地址和終端ID的通信連接數據包給上位機。若終端ID前后一致且對升級完成確認包的回應正確,則表明升級成功。測試結果如圖3所示。

    本方案借助Internet、CDMA網絡成功地實現了遠程終端的軟件升級。同時運用常量定位技術達到了升級無需引導等待的目的;虛擬復位、斷點續傳和升級進度標志的應用增加了升級程序抗風險的能力;采用片內Flash備份的方式,支持升級和備份恢復的功能。隨著通信技術和自編程序技術的發展,本方案對嵌入式終端設備的軟件更新具有極大的參考意義。
參考文獻
[1] 唐文, 劉芳伶. MSP430系列單片機軟件在線升級設計與實現[J].通信技術,2012,45(1):144-146.
[2] 美國德州儀器.MSP430 Flash SelfProgramming Technique[Z]. SLLAA103.2004.
[3] 張云. 第三代移動通信技術特點、后續演進及其全球競爭格局[J]. 中國集成電路, 2009(2):67-72.
[4] 孫亞萍, 張慧熙.一種新型DSP軟件在線升級方法的研究與實現[J].微型機與應用,2010,29(5):72-74.
[5] 羅文, 王莉娜, 肖鯤.基于GPRS的嵌入式系統遠程監控和升級[J].電子技術應用, 2010,36(5):159-162.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          麻豆精品视频在线观看视频| 欧美天堂在线观看| 久久九九99视频| 欧美一区二区视频在线| 国产免费亚洲高清| 欧美三级午夜理伦三级中文幕| 国产精品成人免费| 欧美一级理论片| 一本色道**综合亚洲精品蜜桃冫| 亚洲电影免费| 亚洲高清视频的网址| 久久成人综合视频| 午夜精品一区二区三区在线视| 韩国三级电影一区二区| 亚洲在线黄色| 狠狠色综合播放一区二区| 美女黄毛**国产精品啪啪| 国产精品系列在线播放| 久久精品一级爱片| 亚洲综合精品一区二区| 另类春色校园亚洲| 国产精品视频久久久| 欧美成人精品三级在线观看| 欧美成人免费全部观看天天性色| 国产精品入口麻豆原神| 欧美乱人伦中文字幕在线| 国产真实精品久久二三区| 免费成人黄色片| 国产精品麻豆成人av电影艾秋| 久久青青草原一区二区| 欧美色图天堂网| 久久精品国产一区二区电影| 欧美一区二区三区视频| 国产精品日韩在线| 在线观看亚洲a| ●精品国产综合乱码久久久久| 国产一在线精品一区在线观看| 韩国av一区二区| 精品成人在线| 最新热久久免费视频| 亚洲私拍自拍| 亚洲午夜免费福利视频| 久久人人97超碰人人澡爱香蕉| 国产一区二区欧美日韩| 一区二区三区在线视频免费观看| 亚洲男人av电影| 欧美在线黄色| 亚洲高清精品中出| 国产精品成人av性教育| 最新高清无码专区| 欧美成人69av| 日韩视频免费大全中文字幕| 欧美精品亚洲二区| 久久精品夜夜夜夜久久| 欧美在线999| 久久久久综合| 欧美三级日本三级少妇99| 欧美日韩不卡视频| 国产一区高清视频| 中日韩在线视频| 亚洲国产免费看| 国产精品久久久久永久免费观看| 黄色成人在线免费| 久久gogo国模裸体人体| 久久久久久免费| 国产欧美日韩综合精品二区| 欧美视频第二页| 99精品视频免费全部在线| 国内精品美女在线观看| 国产精品一区二区久久国产| 狠狠88综合久久久久综合网| 99pao成人国产永久免费视频| 亚洲国产精品一区二区久| 老司机成人在线视频| 久久精品一区蜜桃臀影院| 午夜精品一区二区三区四区| 国产精品久久久久aaaa| 欧美日韩精品是欧美日韩精品| 蜜臀91精品一区二区三区| 狠狠色综合播放一区二区| 国产区精品视频| 国产精品成人va在线观看| 亚洲精品之草原avav久久| 国内揄拍国内精品久久| 亚洲午夜久久久久久久久电影网| 亚洲乱码久久| 亚洲区一区二| 在线视频你懂得一区二区三区| 在线精品亚洲| 先锋亚洲精品| 欧美在线网站| 欧美日韩直播| 久久久人成影片一区二区三区观看| 欧美另类在线播放| 欧美福利一区二区| 国模套图日韩精品一区二区| 牛牛精品成人免费视频| 在线视频免费在线观看一区二区| 伊人久久大香线蕉综合热线| 免费看黄裸体一级大秀欧美| 国产午夜亚洲精品理论片色戒| 国产精品美女www爽爽爽| 国产精品成人在线观看| 一区二区在线观看av| 国产精品老女人精品视频| 欧美一区二区三区四区在线| 国产精品成人av性教育| 在线视频亚洲欧美| 亚洲欧洲综合另类在线| 欧美中在线观看| 国产精品扒开腿爽爽爽视频| 亚洲黄色三级| 久久一二三国产| 欧美成人午夜| 国产亚洲欧美日韩在线一区| 欧美日韩在线观看一区二区| 久久精品欧美日韩| 一本一本久久a久久精品综合妖精| 国产老女人精品毛片久久| 久久躁狠狠躁夜夜爽| 国产精品久久国产愉拍| 亚洲午夜91| 久久精品青青大伊人av| 亚洲精品美女在线| 欧美色欧美亚洲高清在线视频| 欧美伦理影院| 欧美日韩高清在线| 久久综合国产精品台湾中文娱乐网| 一本一本久久| 亚洲午夜精品福利| 午夜精品在线| 一区二区三区国产精华| 亚洲国产成人porn| 亚洲欧美精品伊人久久| 国产精品第13页| 国产女主播一区| 国产精品久久久久久久久果冻传媒| 欧美另类极品videosbest最新版本| 欧美wwwwww| 欧美三级视频在线播放| 亚洲一区视频在线| av不卡免费看| 欧美成人a视频| 亚洲电影激情视频网站| 好吊色欧美一区二区三区四区| 欧美亚日韩国产aⅴ精品中极品| 欧美区一区二| 另类酷文…触手系列精品集v1小说| 欧美黑人在线观看| 欧美影视一区| 国产精品永久免费观看| 欧美一区二区三区另类| 国产精品国产三级国产普通话99| 狠狠色综合一区二区| 国产日韩av高清| 亚洲欧美韩国| 午夜国产欧美理论在线播放| 99精品福利视频| 亚洲一区二区动漫| 99re成人精品视频| 亚洲精选成人| 国内揄拍国内精品少妇国语| 亚洲第一网站免费视频| 午夜国产一区| 国产欧美日韩亚洲| 欧美日韩国产一级| 亚洲国产高清高潮精品美女| 国产精品毛片高清在线完整版| 国产精品久久久久久久一区探花| 国产精品国产| 日韩视频在线永久播放| 一区二区三区产品免费精品久久75| 在线不卡视频| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲理论在线观看| 欧美国产视频在线| 欧美一区二区三区电影在线观看| 欧美在线日韩精品| 麻豆精品在线观看| 国产精品丝袜白浆摸在线| 激情综合视频| 亚洲国产精品久久久久久女王| 欧美日韩成人一区二区三区| 亚洲欧洲一区二区天堂久久| 国产亚洲欧美激情| 国产一区二区三区久久悠悠色av| 国产亚洲欧美日韩在线一区| 欧美日产国产成人免费图片| 在线视频观看日韩| 狠狠色噜噜狠狠狠狠色吗综合| 欧美精品一区二区三| 国产午夜精品福利| 奶水喷射视频一区| 亚洲日本中文字幕| 欧美国产日产韩国视频| 中文在线资源观看网站视频免费不卡| 亚洲精品1区2区| 韩国在线视频一区| 亚洲丶国产丶欧美一区二区三区| 国产精品一区二区久久久久| 久久久久高清| 国产精品久久久久秋霞鲁丝| 亚洲经典三级| 亚洲视频在线观看网站| 国产一区二区三区不卡在线观看| 久久久久久久久久码影片| 久久久噜久噜久久综合| 免费在线观看一区二区| 国产欧美一区二区三区在线看蜜臀| 久久国产视频网站| 亚洲一区二区视频在线| 欧美成人伊人久久综合网| 狠狠色香婷婷久久亚洲精品| 亚洲精品资源| 狠狠操狠狠色综合网| 亚洲最快最全在线视频| 欧美激情2020午夜免费观看| 欧美在线看片| 久久精品欧美| 欧美日韩三区四区| 性欧美暴力猛交另类hd| 狠狠综合久久av一区二区老牛| 欧美精品情趣视频| 久久国产精品亚洲va麻豆| 欧美另类videos死尸| 国产精品爽爽ⅴa在线观看| 亚洲视频导航| 欧美激情精品久久久久| 国产亚洲欧美一区二区| 亚洲国产精品高清久久久| 99re8这里有精品热视频免费| 欧美一区二区三区啪啪| 国产一区二区久久| 一本色道久久综合亚洲91| 欧美天堂亚洲电影院在线观看| 国产综合色精品一区二区三区| 亚洲一区二区三区精品在线观看| 亚洲激情六月丁香| 美女尤物久久精品| 日韩一区二区免费高清| 欧美日韩国产美女| 欧美日韩精品一区二区三区四区| 亚洲欧洲99久久| 亚洲淫片在线视频| 99精品欧美一区二区三区综合在线| 亚洲一区在线免费| 久久久久国产一区二区三区四区| 亚洲视频欧美在线| 亚洲黄色在线视频| 美玉足脚交一区二区三区图片| 一区二区三区色| 亚洲尤物视频在线| 亚洲免费视频一区二区| 欧美激情一区二区三区四区| 久久久综合免费视频| 亚洲高清一区二| 欧美一区激情| 欧美偷拍一区二区| 亚洲精品麻豆| 亚洲精品中文在线| 一区二区欧美亚洲| 一区二区激情| 欧美电影在线| 久久久国产精彩视频美女艺术照福利| 欧美日韩第一区| 亚洲高清一区二区三区| 久久一区二区三区超碰国产精品| 欧美日韩一区二区高清| 91久久嫩草影院一区二区| 国产精品视频九色porn| 国产亚洲一区二区三区在线观看| 黄色一区二区三区四区| 久久精品国产第一区二区三区最新章节| 亚洲成人在线网| 欧美午夜在线| 篠田优中文在线播放第一区| 欧美一区二区精美| 在线观看视频日韩| 99人久久精品视频最新地址| 日韩视频亚洲视频| 欧美视频在线观看| 亚洲欧美激情诱惑| 亚洲国产高清一区二区三区| 亚洲伦伦在线| 国产精品一区二区在线观看| 国产欧美va欧美va香蕉在| 欧美国产成人在线| 国产欧美精品久久| 噜噜噜在线观看免费视频日韩| 99精品欧美一区二区三区综合在线| 久久国产精彩视频| 亚洲麻豆国产自偷在线| 久久国产精品久久久久久电车| 美女视频一区免费观看| 欧美亚洲色图校园春色| 99re6热只有精品免费观看| 最新高清无码专区| 精品成人a区在线观看| 免费久久99精品国产自在现线| 国产精品理论片| 国产毛片精品国产一区二区三区| 国产精品久久久久久妇女6080| 一区在线观看视频| 欧美视频日韩| 国产精品免费区二区三区观看| 美女主播一区| 免费一区视频| 久久国产精品久久w女人spa| 欧美日韩1区| 日韩一级片网址| 亚洲欧美日韩另类| 亚洲图片欧洲图片av| 国产精品乱子乱xxxx| 久久精品免视看| 老**午夜毛片一区二区三区| 正在播放欧美视频| 国产精品欧美精品| 欧美高清视频在线观看| 亚洲天堂视频在线观看| 午夜精品久久久久久久男人的天堂| 国产欧美日韩精品在线| 亚洲精选在线观看| 精品不卡视频| 欧美激情视频一区二区三区免费| 在线亚洲+欧美+日本专区| 亚洲第一视频网站| 国产精品豆花视频| 久久久久免费观看|