蓝牙OTA在重启系统时出现如下错误:
Error: Bootloader binary size 0x5200 bytes is too large for partition table offset 0x1000. Bootloader binary can be maximum 0x1000 (4096) bytes unless the partition table offset is increased in the Partition Table section of the project configuration menu. ninja: build stopped: subcommand failed.
问题分析:
这是因为蓝牙OTA程序中的分区表配置和升级包中的分区表配置不一样导致的,自定义分区表中包含两个ota升级区,原始程序中的分区表和升级包中分区表配置不同可能会导致flash中存储重叠和覆盖,因此出现问题。
解决办法:
原始程序分区表和升级包中分区表配置一致,避免出现flash中存储覆盖问题。
注意:
flash中的引导加载程序位于bootloader区,占用一定的存储空间,因此分区表中分区的偏移地址必须大于0x1000+分区表偏移,但一般设置大些,给引导加载程序足够的储存空间,分区表偏移设置大于0x8000比较合适。