新手入门
- 积分
- 12
- 金钱
- 12
- 注册时间
- 2018-12-10
- 在线时间
- 2 小时
|
发表于 2019-3-14 10:49:55
|
显示全部楼层
我也遇到这个问题,用地址跳转回iap卡死在iap_load_app(FLASH_IAP_ADDR);但是用 NVIC_SystemReset();复位跳回iap是可以的,但是我就在想,假如我做了两个app程序,需要来回跳转的话,那不是每次都要切换回来iap,再跳到另一个app,不能直接从app1跳到app2???
void app_to_isp(void)
{
u32 temp=0;
printf("app --> isp strat\r\n");
printf("清除固件刷新标志位\r\n");
iap_clear_flag_s();
temp=iap_read_flag_s(APP_CONFIG_ADDR);
printf("%x\r\n",temp);
printf("app --> isp over\r\n");
// HAL_UART_DeInit(&UART1_Handler);
// NVIC_SystemReset();
SCB->VTOR = FLASH_BASE | 0x0000;//设置偏移量
iap_load_app(FLASH_IAP_ADDR);//跳转到iap的复位向量地址
} |
|