利用http协议使用普通的网站虚拟主机+安信可A6C GPRS模块实现对stm32的远程升级

步骤:

1.生成bin文件并将bin文件放到虚拟主机目录内

2.做一个php的页面分块读取该bin文件,以asc字符echo出来,并标记好头尾长度和校验。

3.GPRS协议栈连接主机路径,收到内容,将内容解析,校验,无误后保存到备份flash空间

4.全部保存完成后,做个标识在参数flash区,等待重新开机

5.做个bootloader,开机后检测是否有保存好的新版本号,如果有则覆盖旧版本,否则直接进入入口向量。

 

由于GPRS传输http协议的内容属于短连接,AT指令的情况多而复杂,很多需要判断处理,有较高的工作强度,这里的内容暂不公开。经过实际测试,升级一个几十k的bin文件需要大约5-10分钟左右,中间允许断电重开不影响继续升级,实际工作中的可靠性符合要求。

posted @ 2017-04-12 22:47  csaaa  阅读(301)  评论(0编辑  收藏  举报