在以物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算為代表的信息科技爆炸式發(fā)展的今天,嵌入式產(chǎn)品越來越豐富,并且版本的升級迭代速度非???。如果需要對軟件代碼進(jìn)行升級,或者生產(chǎn)廠家想要對產(chǎn)品進(jìn)行修改,就必須到現(xiàn)場重新燒寫程序。這樣,從時間到成本都造成了很大的開銷,非常不靈活。因此遠(yuǎn)程更新MCU的固件就成為解決這一問題的有效手段。本文以STM32F103VET6 為平臺,使用GPRS通信方式和IAP 技術(shù)實現(xiàn)MCU固件的遠(yuǎn)程更新。該技術(shù)對于具備GPRS通信的嵌入式產(chǎn)品有很好的幫助,對3G或者4G的嵌入式產(chǎn)品也有借鑒的意義。
1系統(tǒng)的硬件設(shè)計
本系統(tǒng)的結(jié)構(gòu)如圖1所示。MCU使用芯片STM32F103VET6,該處理器是意法半導(dǎo)體(ST)公司發(fā)布的基于CortexM3內(nèi)核的增強型系列處理器,工作頻率最高達(dá)到72 MHz,帶有片內(nèi)RAM、片內(nèi)Flash和豐富的外設(shè)。GPRS模塊的型號是G510。MCU通過串口,使用AT命令與G510模塊進(jìn)行數(shù)據(jù)交互。USB轉(zhuǎn)串口模塊作為PC與MCU的數(shù)據(jù)交互的有效手段,通過打印數(shù)據(jù)信息就可以知道MCU的工作狀態(tài)。電源模塊產(chǎn)生兩種電壓,包括為MCU和USB模塊供電的3.3 V電壓和為GPRS模塊供電的4.0 V電壓。
2MCU的地址