STM32 boot跳转指令失败后跳转到boot程序main函数

2019-08-19 17:58发布

if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
    {
        JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
        Jump_To_Application = (pFunction) JumpAddress;

        //初始化用户程序的堆栈指针
        __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
        Jump_To_Application();
    }
用boot进行无线更新程序,发现当无线更新失败, 此时falsh中已经有一部分应用程序, Jump_To_Application()会跳转到boot程序的main函数,并且一直在循环操作,但是boot程序正常情况下应该顺序执行,没有循环执行,求大神指教问题原因~~

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。