《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于GPRS通信的MCU固件遠程更新技術的實現
基于GPRS通信的MCU固件遠程更新技術的實現
2016年微型機與應用第14期
唐洪富,王肖楠
(華北計算機系統工程研究所,北京 100083)
摘要: 在闡述STM32F103VET6微處理器的存儲空間和在應用中編程(IAP)技術原理的基礎上,以GPRS通信的方式,實現了MCU固件在線遠程更新,提高了固件維護的方便性,縮短了終端系統的開發周期,降低了成本。
Abstract:
Key words :

  唐洪富,王肖楠

  (華北計算機系統工程研究所,北京 100083)

  摘要:在闡述STM32F103VET6微處理器的存儲空間和在應用中編程(IAP)技術原理的基礎上,以GPRS通信的方式,實現了MCU固件在線遠程更新,提高了固件維護的方便性,縮短了終端系統的開發周期,降低了成本。

  關鍵詞:STM32F103;GPRS;IAP;固件更新

0引言

  在以物聯網、大數據、云計算為代表的信息科技爆炸式發展的今天,嵌入式產品越來越豐富,并且版本的升級迭代速度非常快。但是通常的嵌入式產品都是用燒寫器將代碼燒寫到嵌入式主控制器或者其他存儲芯片中,在產品交付給用戶以后,如果需要對軟件代碼進行升級,或者生產廠家想要對產品進行修改,就必須到現場重新燒寫程序。這樣,從時間到成本都造成了很大的開銷,非常不靈活。因此遠程更新MCU的固件就成為解決這一問題的有效手段。本文以STM32F103VET6 為平臺,使用GPRS通信方式和IAP 技術實現MCU固件的遠程更新。該技術對于具備GPRS通信的嵌入式產品有很好的幫助,對3G或者4G的嵌入式產品也有借鑒的意義。

1系統的硬件設計

001.jpg


  本系統的結構如圖1所示。MCU使用芯片STM32F103VET6,該處理器是意法半導體(ST)公司發布的基于CortexM3內核的增強型系列處理器,工作頻率最高達到72 MHz,帶有片內RAM、片內Flash和豐富的外設。GPRS模塊的型號是G510。MCU通過串口,使用AT命令與G510模塊進行數據交互。USB轉串口模塊作為PC與MCU的數據交互的有效手段,通過打印數據信息就可以知道MCU的工作狀態。電源模塊產生兩種電壓,包括為MCU和USB模塊供電的3.3 V電壓和為GPRS模塊供電的4.0 V電壓。

2MCU的地址

002.jpg

  STM32F103VET6的內核是CortexM3,它的存儲系統采用統一尋址方式,程序存儲器、數據存儲器、寄存器和輸入輸出接口被組織在同一個4 GB的線性地址空間內。存儲空間被分成8個主要塊,每個塊為512 MB。以STM32F103VET6處理器為例, 圖2為代碼塊和片內SRAM的地址映射圖。STM32F103VET6有512 KB的Flash存儲空間,地址從0x08000000至0x0807ffff;有64 KB的SRAM,地址從0x20000000到0x2000ffff。

  通過設置BOOT[1:0]引腳值為00,使STM32F103 VET6上電后從Flash的0x08000000地址處開始執行代碼。

3IAP技術的實現

  3.1IAP技術原理[1]

  在應用編程(IAP)技術是指MCU在執行用戶程序的過程中對片內Flash 的部分區域進行擦寫,把真正的用戶二進制代碼燒寫到Flash中。在這里,IAP的程序要實現兩個功能: 一是通過GPRS通信接收已經編譯鏈接好的二進制的應用代碼到內存;二是將應用代碼燒寫到片內Flash 中。系統復位后,MCU首先執行IAP和GPRS通信程序,此段代碼必須使用硬件燒寫器,比如JLink燒寫到MCU中;等待MCU接收并燒寫好真正的功能代碼后,跳轉至此段代碼開始執行用戶程序。這兩段代碼都是燒寫在片內Flash中,必須保證兩段代碼的存放區域不能重疊,否則會出現程序覆蓋,將無法正確執行用戶程序。通過設置標志位,并且存儲到Flash中,來判斷上電后執行的是IAP程序還是用戶程序。

  3.2燒寫文件格式

  IAP驅動和GPRS通信程序是用MDK編譯器生成的HEX文件,通過JTAG燒寫到STM32F103VET6的Flash中,起始地址是0x08000000。由于MDK產生的是HEX文件,因此需要使用轉換工具將用于通過GPRS通信方式從服務器端下發到終端的固件代碼由HEX文件格式轉換成BIN文件格式。終端將新的固件代碼寫入到Flash中,起始地址設為0x08020000。

  3.3軟件實現

  由于要更新的固件的存儲地址是0x08020000,因此需要調整新固件的中斷向量表的地址:NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x08020000)[2]。使用起始地址為0x0807f800最后一頁Flash存儲字符型變量Update_Flag,該變量的值保存了固件更新的狀態。當Update_Flag等于0時,代表無應用程序,MCU執行IAP驅動和GPRS通信程序;當Update_Flag等于1時,代表應用程序是已經寫入Flash中的有效代碼,則MCU執行新的固件程序。系統的軟件流程如圖3所示。 

  連接的流程圖STM32F103VET6與GPRS模塊的數據交互[3]通過串口來完成,終端與服務器的連接建立的過程如圖4所示。建立連接后,MCU可以發送報文A1向服務器請求新固件。服務器收到此報文后,把要發送的BIN格式的新固件按照表1所示的報文格式發送至終端。幀長度是包含從類型到校驗位的總長度。這里考慮到G510傳輸每幀數據的最長字節數和Flash寫操作的方便性,設定數據區的最大長度為1 024 B。服務器端打開BIN格式的文件,并且按照表1所示的幀格式把數據裝載成幀A2,然后發送。用幀計數來避免因為網絡擁堵等問題造成的數據傳輸錯誤。采用應答式的交互方式,終端每次收到一條固件幀,就以正確幀R1或者錯誤幀R2回應。R1和R2中包含幀計數和服務器端設置延時,發送完一幀數據后,延時5 s,在這段時間內,沒有收到回應的數據則重發。服務器發送完最后一幀固件數據,并且收到正確的回答后,再發送一幀結束數據A3,使終端知道固件已經全部發送完畢。具體的服務器和終端的數據傳輸的流程圖如圖5所示。

006.jpg

  先使用JTAG把IAP驅動和GPRS通信的代碼寫入到Flash的起始地址0x08000000處,然后復位終端,等待終端與服務器建立好連接。服務器使用圖6所示的客戶端界面形成規范的報文,然后發送到終端,實現終端固件的遠程更新。

005.jpg

007.jpg

4結論

  通過實驗,用戶代碼被正常執行,說明遠程更新已經正常實現。因此,IAP 技術為遠程更新用戶代碼提供了極大的方便,不僅能夠提高產品性能,增強產品的功能,而且大大降低了企業產品運營和維護的成本,是一門實用性很強的技術,在將來的3G、4G等嵌入式產品中將會被廣泛地使用。

參考文獻

  [1] 曹欲曉,韓冬,徐金寶.一種基于CPUID 和AES 算法的STM32 固件升級方案[J].電子技術應用,2015,41(3):2830.

  [2] 陳峰峰,胡毅,許艷.STM32F10x 在應用中編程的實現方法[J].技術縱橫,2009(9):2531.

  [3] Fibocom Wireless Inc. G5family at commands user manual[Z].2013.


此內容為AET網站原創,未經授權禁止轉載。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          日韩亚洲不卡在线| 亚洲一区尤物| 久久久久高清| 午夜精彩国产免费不卡不顿大片| 久久综合九色| 在线看无码的免费网站| 国产亚洲欧洲| 国产一区二区在线观看免费播放| 亚洲日本激情| 欧美精品成人一区二区在线观看| 亚洲国产一区二区三区a毛片| 国产精品亚洲不卡a| 欧美精品1区| 国产精品久久久久久模特| 欧美ab在线视频| 国产日韩三区| 亚洲小说欧美另类社区| 久久不射网站| 国产区欧美区日韩区| 欧美日韩一区二区三区四区在线观看| 亚洲精品综合| 黑人一区二区| 欧美福利一区| 欧美资源在线| 国产亚洲福利| 亚洲欧洲精品一区| 欧美三级黄美女| 六月婷婷久久| 国产精品久久久久毛片大屁完整版| 国产精品v日韩精品v欧美精品网站| 亚洲伊人观看| 国产伦精品一区二区三区视频孕妇| 亚洲午夜视频| 激情综合视频| 亚洲福利精品| 亚洲激情国产| 一本久道久久综合婷婷鲸鱼| 最新成人av网站| 在线视频观看日韩| 精品99视频| 尤物在线精品| 日韩亚洲视频在线| 亚洲国产精品久久久久婷婷老年 | 国产欧美在线| 国产视频一区欧美| 国产区欧美区日韩区| 一本色道久久综合| 国产欧美日韩综合精品二区| 中文一区二区| 久久riav二区三区| 亚洲欧美日韩视频二区 | 亚洲久色影视| 亚洲日本国产| 亚洲深夜激情| 蜜桃视频一区| 黄色成人在线网站| 亚洲欧洲一区二区在线观看 | 国产精品人人爽人人做我的可爱| 国产伦理一区| 欧美精品成人| 一区二区动漫| 欧美一区视频| 亚洲日本成人| 久久精品综合一区| 在线免费观看一区二区三区| 亚洲中字黄色| 极品日韩久久| 久久精品道一区二区三区| 国产精品成人观看视频免费| 亚洲精品日韩精品| 久久日韩精品| 中文在线一区| 好吊一区二区三区| 鲁大师成人一区二区三区 | 国产精品国产三级欧美二区| 亚洲国产一区二区三区高清 | 激情91久久| 国产精品久久亚洲7777| 欧美精品大片| 噜噜噜91成人网| 一区二区视频在线观看| 免费亚洲一区二区| 亚洲激情一区二区三区| 午夜久久久久| 国产精品美女久久久浪潮软件| 欧美日韩1区| 亚洲专区在线| 亚洲精品婷婷| 精品999网站| 亚洲欧美亚洲| 久久另类ts人妖一区二区| 亚洲国产专区| 精品999日本| 欧美日韩成人一区二区三区| 国产精品久久一区二区三区| 在线视频观看日韩| 欧美午夜一区| 欧美精品国产一区| 久久男女视频| 欧美中文字幕| 香蕉久久a毛片| 一区二区三区国产在线| 黄色成人在线网址| 国内精品一区二区| 韩日成人在线| 亚洲天堂偷拍| 91久久在线| 亚洲精品日本| 一区二区三区四区五区精品视频| 精品999日本| 亚洲国产免费| av成人黄色| 99在线观看免费视频精品观看| 亚洲性感美女99在线| 韩国一区二区三区在线观看| 久久久夜精品| 亚洲第一网站| 麻豆亚洲精品| 欧美一区91| 欧美日韩1区| 午夜国产精品视频免费体验区| 欧美jizzhd精品欧美巨大免费| 巨乳诱惑日韩免费av| 美女91精品| 欧美日韩精品久久| 亚洲小说欧美另类婷婷| 1024成人| 久久大逼视频| 欧美性久久久| 99这里有精品| 国产亚洲网站| 久久综合图片| 欧美日本韩国在线| 精品91在线| 国产亚洲毛片在线| 久久久精品午夜少妇| 欧美精品一区二区视频| 黄色成人av网站| 中文精品在线| 欧美黄色大片网站| 亚洲国产精品第一区二区三区| 亚洲伦理精品| 久久久久久亚洲精品杨幂换脸| 欧美三级第一页| 亚洲精品在线免费| 久久久国产精品一区二区三区| 欧美精品成人一区二区在线观看| 亚洲国产婷婷香蕉久久久久久99| 国产精品毛片一区二区三区| 国产精品二区在线| 亚洲一区日韩| 伊人久久婷婷| 欧美激情综合| 国产三级精品在线不卡| 欧美日韩三级| 亚洲免费在线精品一区| 亚洲调教视频在线观看| 免费永久网站黄欧美| 久久综合九色99| 国产精品啊啊啊| 亚洲欧美日韩国产综合精品二区 | 午夜精品美女久久久久av福利| 欧美午夜欧美| 国产一区二区黄色| 欧美日韩一区二区三区在线观看免| 99视频在线精品国自产拍免费观看| 久久久久se| 国产欧美一区二区视频| 欧美三级在线| 欧美a级片一区| 99热这里只有精品8| 亚洲欧美综合| 亚洲男人影院| 国产精品三区www17con| 伊甸园精品99久久久久久| 久久精品女人天堂| 国产日韩欧美在线播放不卡| 黑人一区二区三区四区五区| 在线精品在线| 国产欧美另类| 亚洲视频大全| 日韩视频精品| 日韩视频二区| 中文有码久久| 国产精品久久久一区二区三区| 亚洲国产欧美国产综合一区| 狠狠综合久久| 激情偷拍久久| 亚洲激情成人| 国产欧美亚洲日本| 国产精品日韩久久久| 国产日韩欧美三区| 国产精品裸体一区二区三区| 午夜一级久久| 久久精品国产清高在天天线| 久久久精品日韩| 亚洲欧美日韩视频二区| 亚洲欧美日本日韩| 亚洲影音一区| 欧美一区激情| 国模精品娜娜一二三区| 亚洲精品一品区二品区三品区| 影音先锋中文字幕一区| 99热精品在线| 亚洲一区二区三区高清| 模特精品在线| 欧美日韩精品久久| 精品91久久久久| 国产一区二区三区奇米久涩| 国产精品视频| 午夜精品免费| 在线视频国内自拍亚洲视频| 国产欧美日本在线| 欧美一级播放| 欧美日韩一区二区视频在线| 韩日精品在线| 免费亚洲一区二区| 午夜精品剧场| 亚洲大片av| 麻豆成人小视频| 狠狠色噜噜狠狠狠狠色吗综合| 99热免费精品| 午夜精品亚洲| 国产女主播一区二区| 欧美区亚洲区| 国产精品视频久久一区| 欧美精品一区在线| 亚洲一区欧美二区| 欧美天堂亚洲电影院在线观看| 国产一区二区三区的电影| 午夜精品亚洲一区二区三区嫩草| 日韩视频一区| 欧美日本一区二区视频在线观看| 亚洲精品日本| 狠狠爱www人成狠狠爱综合网| 国产毛片一区| 99精品国产福利在线观看免费 | 久久亚洲综合网| 一本色道久久99精品综合| 欧美福利网址| 欧美专区18| 最新日韩欧美| 欧美日韩国内| 欧美在线视频二区| 国产精品一区在线播放| 尤物精品在线| 国产精品v欧美精品v日韩| 久久免费99精品久久久久久| 一区二区三区免费看| 精品1区2区3区4区| 国产精品地址| 欧美区亚洲区| 欧美日韩国产三区| 久久久青草婷婷精品综合日韩| 国产一区二区你懂的| 在线观看一区欧美| 激情91久久| 欧美日本在线| 国产精品chinese| 欧美精品导航| 欧美激情1区2区| 久久久www| 久久国产高清| 欧美a级在线| 欧美69视频| 欧美精品一卡| 国产尤物精品| 一区福利视频| 亚洲欧洲一区二区在线观看| 伊人成人在线视频| 日韩天堂av| 亚洲国产免费看| 一区二区三区成人精品| 亚洲精品欧美精品| 亚洲一区二区毛片| 久久久一本精品99久久精品66| 久久久亚洲一区| 国内一区二区在线视频观看| 欧美日韩亚洲一区二区三区在线| 欧美视频成人| 亚洲精华国产欧美| 亚洲欧美日韩国产| 午夜日韩视频| 欧美日韩一区二区三区在线观看免| 国产中文一区二区| 亚洲三级网站| 久久九九99| 欧美午夜a级限制福利片| 1024精品一区二区三区| aⅴ色国产欧美| 美女精品在线观看| 狠狠色综合网| 亚洲影音一区| 黄色一区二区三区四区| 一区二区av| 欧美极品一区| 国产亚洲欧美另类一区二区三区| 久久精品1区| 亚洲精品美女| 你懂的成人av| 国产欧美亚洲一区| 欧美视频四区| 免费在线亚洲| 日韩一区二区久久| 久久精品欧美| aa级大片欧美三级| 欧美日韩成人一区二区三区| 中日韩在线视频| 永久域名在线精品| 你懂的国产精品永久在线| 夜夜爽av福利精品导航| 国产精品国产一区二区| 免费亚洲一区二区| 亚洲视频1区| 狠狠色综合色区| 欧美日韩一区二区三区在线视频 | 国产精品免费一区二区三区在线观看| 午夜精品美女久久久久av福利| 一区二区不卡在线视频 午夜欧美不卡'| 欧美在线91| 久久青草久久| 亚洲欧美日韩视频二区| 99精品福利视频| 在线播放一区| 黑人一区二区| 狠狠爱成人网| 欧美日韩久久| 欧美日韩国产综合网| 久久亚洲国产精品一区二区| 国产亚洲在线观看| 一区二区av| 99在线热播精品免费99热| 亚洲福利久久| 亚洲毛片av| 亚洲国产高清视频| 亚洲经典自拍| 亚洲精选久久| 国产一区二区三区奇米久涩| 国产亚洲毛片在线| 国产欧美日韩在线播放| 国产亚洲精品bv在线观看| 亚洲久久在线| 国产一区二区久久久| 国产伦精品一区二区三区照片91| 一本一本久久a久久精品综合妖精| 99精品欧美| 亚洲欧美99| 久久一区免费| 亚洲夜间福利| 亚洲欧洲日韩综合二区| 国产精品久久国产愉拍| 久久成人免费| 欧美激情麻豆| 亚洲精品乱码久久久久久蜜桃91| 99视频精品| 久久国产欧美精品| 欧美日一区二区在线观看| 国产在线一区二区三区四区 | 午夜一级久久| 久热精品视频| 国产综合自拍| 99国产精品| 免费视频一区| 欧美先锋影音| 在线视频精品一区| 国产精品日韩高清| 欧美ab在线视频| 亚洲欧洲视频| 国产精品一区二区三区观看| 麻豆精品91| 国产精品va| 国产精品三上| 国内视频精品| 国产精品视频久久一区| 欧美精品七区| 一区二区三区福利| 欧美欧美天天天天操| 日韩亚洲视频在线| 久久亚洲欧美| 国产日韩欧美三级| 欧美日韩免费高清| 国产日韩精品视频一区二区三区| 欧美一区激情| 日韩亚洲国产欧美| 欧美视频福利| 亚洲一区三区电影在线观看| 欧美高清视频一区二区三区在线观看| 亚洲精品视频啊美女在线直播| 久久久久久穴| 中文在线一区| 伊人成年综合电影网| 亚洲一卡久久| 日韩视频在线观看国产| 欧美喷水视频| 亚洲一区成人| 99在线观看免费视频精品观看| 欧美在线播放一区| 亚洲在线电影| 国产精品一区二区a| 亚洲一级二级|