在以物联网、大数据、云计算为代表的信息科技爆炸式发展的今天,嵌入式产品越来越丰富,并且版本的升级迭代速度非常快。如果需要对软件代码进行升级,或者生产厂家想要对产品进行修改,就必须到现场重新烧写程序。这样,从时间到成本都造成了很大的开销,非常不灵活。因此远程更新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的地址