<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_B/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
1.这节远程升级以STM32F407VET6+ESP8266为例.
一会再补充上使用STM32F407VET6+Air202/Air302的程序.
2.整个的升级流程和前面的文章一样
先使用我提供的程序下载地址测试.
1.打开这节的程序

 
2.连接引脚说明
使用串口1作为了日志打印,串口2连接模组.
(单片机)PA2 -- RX(模组)
(单片机)PA3 -- TX(模组)
(单片机)PA8 -- RST(模组复位引脚)
另外:
PA6作为了指示灯
PE4作为了按键
指示灯和按键不是必须的!
可以按照自己的板子在各个头文件里面修改引脚定义



3.下载BootLoader到自己的开发板

4.打开用户程序,修改成连接自己的路由器名称和密码

5.接着再下载用户程序(选择只擦除程序使用的部分)


1.烧录完BootLoader然后再烧录用户程序打印如下:

2.在用户程序中控制模组连接路哟器

3.获取服务器固件信息,如果有新版本,重启

4.更新完成

1.在自己的Web服务器上建一个目录,作为存放固件文件
我的地址为: 网站根目录/ota/hardware/STM32F4xxESP8266BK

2.修改BootLoader的IAP.c文件里面的产品型号和默认固件的下载地址

3.打开用户程序的IAP.c文件,修改里面的产品型号和记录固件信息文件的地址

4.分别编译下BootLoader程序和用户程序
先下载BootLoader程序到板子

再下载用户程序到板子

5.把用户程序的版本改为其它版本,然后编译下用户程序


6.编程以后会在其工程目录生成Bin文件夹,并在里面生成user.bin文件


7.打开OTA Tools上位机软件
 
提示:该软件是修改bin文件加入校验(使得升级稳定可靠)
8.按照红框选择配置
 
9.选择用户程序生成的 bin文件

10.点击 生成固件
 
11.将在user.bin目录生成user_crc.bin文件

user_crc.bin文件只是在user.bin的基础上增加了CRC校验位

12.把生成的user_crc.bin文件拷贝到服务器
 
12.打开info.txt文件

13.修改版本号(和用户程序里面设置的一样)

14.修改固件程序大小(OTA Tools提示信息里面有这个大小)

15.修改固件程序下载地址(和服务器路径保持一致)
 
16.最后的提示信息不需要更改,当前用不到

17.把info.txt文件也拷贝到服务器

18.然后观察日志,查看升级情况
正常情况下会和一开始的日志流程一样完成升级.
1.flash分配

2.调整BootLoader ,用户程序, 备份用户程序的flash分配扇区
注意:BootLoader程序和用户程序要保持一致.

3.调整存储其它数据使用的扇区
注意:BootLoader程序和用户程序要保持一致.

4.
21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)
原文:https://www.cnblogs.com/yangfengwu/p/14490874.html