使用OTA更新APP代码后跳转到APP程序运行时FAL分区识别不了。具体执行流程如下。
1、无OTA程序时APP程序编写运行串口信息输出如下

2、使用RTT官方的IOT进行BootLoader生成


3、使用st-link下载BootLoader代码,串口打印信息如下

4、使能APP的ota功能,修改APP代码启动地址等相关信息


增加跳转代码如下
/**
* Function ota_app_vtor_reconfig
* Description Set Vector Table base location to the start addr of app(RT_APP_PART_ADDR).
*/
static int ota_app_vtor_reconfig(void)
{
#define NVIC_VTOR_MASK 0x3FFFFF80
/* Set the Vector Table base location by user application firmware definition */
SCB->VTOR = RT_APP_PART_ADDR & NVIC_VTOR_MASK;
return 0;
}
INIT_BOARD_EXPORT(ota_app_vtor_reconfig);
下载APP代码运行正常,串口打印信息如下:

5、制作固件包

6、ymodem下载程序验证

通过ymodem更新代码后FAL初始化成功,查找到SPI flash 但是分区表不争取。