制作BootLoader,先测试本地ISP,再尝试通过连接蓝牙发送特定指令来实现升级。
这里通过官方的例子来测试这个功能。
![image.png](//file1.elecfans.com/web2/M00/82/3E/wKgZomRHWa-AbOQoAABDCxyKeuA768.png)
这里我们采用官方的方式一来实现。
备份升级方式,适用于 flash 资源充裕的应用,优点是 APP+LIB 都可以升级,缺点是 flash 需要对半分使用。
方式一上电优先运行 IAP 程序,之后跳转 APP 执行用户程序。APP 文件为独立完整的功能文件,运行时可以通过无线方式接收完整的 OTA 备份升级文件,然后软复位进入 IAP 程序,IAP 会将备份区的 OTA 升级文件拷贝到 APP 应用程序区,最后跳转回升级后的 APP 应用程序运行新的固件。升级固件带 LIB 编译。
把IAP和OTA程序合并成一个bin文件进行烧录,然后再下载官方的app进行测试升级。
![c0829de5af59933cae3235ed2b97223.jpg](//file1.elecfans.com/web2/M00/82/4A/wKgaomRIrD6AJLb4AAUrTw5ffMo534.jpg)
![10ec83a8a478189fbc32205013d35b8.jpg](//file1.elecfans.com/web2/M00/82/4A/wKgZomRIrEOAL81DAAZX9dVcI24708.jpg)
升级成功了,官方的指导文档(WCH CH32V208 蓝牙空中升级(BLE OTA).PDF)和例程还是很详细的,更新也很快,大家可以试一试。
|