非蓝牙通道的OTA有成熟demo吗?



  • SDK中提供的ota是基于蓝牙上位机进行的,但是我们的硬件架构是把蓝牙芯片作为副芯片承接部分业务功能,需要主芯片(模组)进行升级固件下载和数据传输。我看SDK中除了注册蓝牙服务的升级,没别的升级接口了,所以我还得研究底层的分区和升级流程,对芯片开发太不友好了



  • 还有串口和usb的方式



  • 串口方式的OTA是指固件烧录吗?这部分逻辑在sdk中好像没有体现,您这边有相关的例程吗



  • 调出来了,简单说几点注意事项给未来可能用到的朋友:

    1. Flash地址大致分布为,A区信息,B区信息,A区固件,B区固件;
    2. 编译的固件(如上A区固件),其内部分布为A信息,B信息(空),固件数据体;
    3. 内存读取flash信息时,需要加上flash的起始地址;
    4. falsh接口读取flahs信息时,直接给偏移量;
    5. 往flash写升级固件信息前,需要手动erase一遍,且4K对齐,这里有点坑人;
    6. 其他配置项参考demo即可;