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