在移植最新的BLE-CC254x-1.4.0协议栈工程时,原先的SBL升级出现问题,升级完成后无法满足crc校验位的擦除,导致升级一次后就无法跳到boot里再升级了。之前我在BLE-CC254x-1.3.0的工程上是OK的。问题如图所示:
正常升级之前需要调用这个void appForceBoot(void);函数擦除校验位crc,但是crc满足了crc[1] != crc[0]这个条件return掉了,导致无法擦除crc校验。这里需要强调一下,我在IAR里面对code空间重新分了区。之前BLE-CC254x-1.3.0重新分区后是完全OK的,更新到BLE-CC254x-1.4.0后分区一样,但是出现上面的问题。到底是哪里出了问题呢?