操作OTA的流程与遇到的问题

一、OTA的整体过程

在这里插入图片描述

二、编写OTA时遇到的问题

1、初始化部分,把串口初始化放到外面,把按键操作那部分放循环内。
2、在OTA.h中,要修改#define BOOTLOADER_SIZE 0x4000 //BootLoader大小
3、修改芯片型号、启动文件改成startup_hd.s、全局宏
4、iap.h中的扇区大小改成2048,即#define SECTOR_SIZE 2048 //扇区大小
5、待更新固件,要根据自己的分区情况,修改SCB->VTOR = FLASH_BASE | 0x4800;和魔术棒里的IROM1起始地址和大小
6、使用ST-LINK调试发现程序跑飞,死在硬件出错HardWare_Fault()里,我们需要将启动文件的堆栈大小增大。
7、在OTA.c里进行分包下载时,需要把一个包的大小从1024改成2048
8、ota.c里去获取主机域名时将https改成http或者改成两者都兼容的形式
9、按键初始化、串口初始化
10、分区表做错了
11、腾讯云更新,导致老版本的bootloader无法正常去获取到主机域名,从而无法下载到真正的固件而是下载了一堆的404错误。通过上面第八步的修改后解决

猜你喜欢

转载自blog.csdn.net/m0_66338176/article/details/134193951
OTA