设置
跳转
boot
要关闭串口
printf("开始执行FLASH用户代码!!\r\n");
if (((*(vu32 *)(FLASH_APP1_ADDR + 4)) & 0xFF000000) == 0x08000000) // 判断是否为0X08XXXXXX.
{
//__disable_irq(); //关闭总中断
// printf("关闭中断!!\r\n");
HAL_UART_DMAStop(&huart1);//停止dma
HAL_UART_DMAStop(&huart7);
HAL_UART_MspDeInit(&huart1);//关闭串口
HAL_UART_MspDeInit(&huart7);
iap_load_app(FLASH_APP1_ADDR); // 执行FLASH APP代码
}
else
{
printf("非FLASH应用程序,无法执行!\r\n");
}
app
SCB->VTOR = FLASH_BANK1_BASE | 0x00020000UL;//切换中断向量表