STM32F4 IAP bootloader跳转失败

[复制链接]
376|0
 楼主| 电子学长 发表于 2018-7-6 14:56 | 显示全部楼层 |阅读模式
这个是跳转函数
void loading_program(uint32_t LoadAddress)
{
    if (((*(__IO uint32_t*)LoadAddress) & 0x2FFE0000 ) == 0x20000000)/*检查栈顶地址是否合法*/
    {
                U2_Printf("
M2 Ready to go to the APP!
");
                osDelay(50);
                /*Debug*/
                U2_Printf("Jump Address:0x%08X
", ((*(uint32_t*)LoadAddress) & 0x2FFE0000 ));
                osDelay(100);
               
                Disable();
               
        JumpToAddress = (pFunction)*(uint32_t*) (LoadAddress + 4);
        MSR_MSP(*(__IO uint32_t*) LoadAddress);
        JumpToAddress();        /*跳转app*/
    }
        else
        {
                U2_Printf("
M2 Loading APP ERROR!
");
                osDelay(50);
                U2_Printf("Load Address:0x%08X
", LoadAddress);
                osDelay(50);
                /*Debug*/
                U2_Printf("Jump Address:0x%08X
", ((*(__IO uint32_t*)LoadAddress)&0x2FFE0000));
                osDelay(1000);
        }
}

跳转打印是这个
M2 Loading APP ERROR!
Load Address:0x08020000
Jump Address:0x28160000

一直无解为什么是这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

447

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部