项目-STM32F765VIT6+W5500 使用单片机串口发送命令实现OTA远程升级单片机程序测试说明
测试
1,单片机通过SPI1和模块通信; 单片机PA8引脚作为复位模组使用;串口1做日志打印(115200);
2,打开例程
3, 使用下载器先下载BootLoader,然后再下载用户程序
4, 在网站的根目录建几个文件夹
目录要和 mcu_project 程序里面的目录一致
5, 用户程序修改程序版本
6,编译完以后会在工程目录生成bin文件
7.打开OTA Tools上位机软件
8.按照红框选择配置
9.选择用户程序生成的 bin文件
10.点击 生成固件
11.将在user.bin目录生成user_crc.bin文件
12.在服务器建一个对应版本号的文件夹,同时把生成的user_crc.bin文件放到里面
13.使用串口发送指令给单片机
OTA:0.0.1;
14.单片机开始下载固件,下载完成以后运行新固件
15.再修改个版本
使用OTA Tools 生成 user_crc.bin文件
在服务器建一个对应版本号的文件夹,同时把生成的user_crc.bin文件放到里面
16.使用串口发送指令给单片机
OTA:0.0.2;
17.单片机开始下载固件,下载完成以后运行新固件
FLASH说明
1,STM32F765VIT6的整体flash
2,当前程序分配
运行用户程序 和 备份用户程序的扇区用户可以在 iap_interface.h 配置; 配置时要保证 BootLoader 和 mcu_project 里面的这个文件配置一样;
扇区1当前程序用作记录更新的数据,还有记录阿里云动态注册参数; 存储框架使用的 flash_helper
关于flash_helper https://www.cnblogs.com/yangfengwu/p/14476294.html
如果想使用flash_helper存储数据,这边有例子
#define flash_helper_save_offset 256 这个偏移是由于前256(全字) ; 用作了记录OTA升级相关的数据;
现在后面又使用了200字节记录阿里云参数; 用户使用的时候偏移设置为 306 注: (200/4 + 256) = 306
但是要注意, flash_helper存储数组当前为 512(512*4 = 2K), 最大可设置为整个扇区大小 8192 (32K)
3,这边也提供了最底层的操作flash的API函数
.