21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_B/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_B/" width="100%"></iframe>

 

说明

1.这节远程升级以STM32F407VET6+ESP8266为例.

一会再补充上使用STM32F407VET6+Air202/Air302的程序.

2.整个的升级流程和前面的文章一样

 

先测试下升级

先使用我提供的程序下载地址测试.

 

1.打开这节的程序

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

2.连接引脚说明

使用串口1作为了日志打印,串口2连接模组.

(单片机)PA2 -- RX(模组)

(单片机)PA3 -- TX(模组)

(单片机)PA8 -- RST(模组复位引脚)

另外:

PA6作为了指示灯

PE4作为了按键

指示灯和按键不是必须的!

可以按照自己的板子在各个头文件里面修改引脚定义

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

观察串口1打印的日志

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

4.更新完成

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

应用到自己的项目

1.在自己的Web服务器上建一个目录,作为存放固件文件

我的地址为: 网站根目录/ota/hardware/STM32F4xxESP8266BK

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

4.分别编译下BootLoader程序和用户程序

先下载BootLoader程序到板子

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

 

再下载用户程序到板子

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

 

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

 

7.打开OTA Tools上位机软件

 21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

提示:该软件是修改bin文件加入校验(使得升级稳定可靠)

 

8.按照红框选择配置

 21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

9.选择用户程序生成的 bin文件

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

10.点击 生成固件

 

 21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

 

 

11.将在user.bin目录生成user_crc.bin文件

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

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

 

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

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

 

 

 21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

12.打开info.txt文件

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

15.修改固件程序下载地址(和服务器路径保持一致)

 21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

16.最后的提示信息不需要更改,当前用不到

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

 

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

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

18.然后观察日志,查看升级情况

正常情况下会和一开始的日志流程一样完成升级.

 

 

 

程序详细说明

1.flash分配

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

2.调整BootLoader ,用户程序, 备份用户程序的flash分配扇区

注意:BootLoader程序和用户程序要保持一致.

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

3.调整存储其它数据使用的扇区

注意:BootLoader程序和用户程序要保持一致.

21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组远程升级单片机程序(ESP8266/Air202/Air302)

 

 

4.

 

上一篇:手把手教你制作基于esp8266的WIFI杀手


下一篇:51-STM32+ESP8266+AIR202基本控制篇-重点详解-SSL