ESP32开发笔记
OTA部分
1、Esp32Flash分区情况
需要注意的主要分区:Bootloader、NVS(数据存储区)、Factory(工厂区)、OTA0(升级区0)、OTA1(升级区1)
分区修改必须保留:Bootloader、NVS(数据存储区)、Factory(工厂区)
有升级需求保留:OTA0或OTA0+OTA2
2、OTA升级逻辑
1、出厂:直接烧录固件(3个):bootloader.bin、app_partitions.bin(分区固件)、app.bin(代码固件),代码固件app.bin被直接烧录到工厂区。
2、升级:设备升级时,进入工厂区代码,工厂区代码执行所有升级操作(包括链接服务器、下载升级数据、写入到OTA0\OTA1等)。升级完成后,修改启动目标区为从OTA0\OTA1启动。
3、OTA区使用:首次升级代码放到OTA0,重启后运行OTA0的程序;第二次升级放到OTA1,重启后运行OTA1的程序;第三次升级代码放到OTA0…,依次循环使用。如果只有OTA0,则每次升级都将代码放到OTA0;一旦升级失败,程序将使用工厂代码。
OTA升级注意事项:
1、工厂代码必须可正常运行且可以正常启动升级。
参考链接
https://blog.csdn.net/liwei16611/article/details/81051499