[STM32F1] IAP不跳转到APP的问题求解

[复制链接]
2312|13
 楼主| wofei1314 发表于 2015-10-26 11:25 | 显示全部楼层 |阅读模式
App, iap, IO, se, TI
芯片STM32F103RBT6,APP起始地址:0x8005000
IAP程序擦除了 0x800500以后的Flash区域,擦除正常,烧写正常


APP,keil设置,Flash起始地址设了 0x8005000,选择了生产 Bin文件
APP的main函数一开始就设置了 SCB->VTOR = FLASH_BASE | 0x5000;


然后IAP程序中到了这个函数,直接走的是else....  
//执行用户程序
void ExecuteUserPro(void)
{
    //判断用户是否已经下载程序,因为正常情况下此地址是栈地址。
    if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)                //若没有这一句的话,即使没有下载程序也会进入而导致跑飞。
    {
        debugOUT("Execute user Program !");
        //跳转至用户代码
        JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
        Jump_To_Application = (pFunction) JumpAddress;


        //初始化用户程序的堆栈指针
        __set_MSP(*(__IO uint32_t*) ApplicationAddress);
        Jump_To_Application();
    }
    else
    {
        debugOUT("no user Program..");
        debugOUT("Restart the device and");
        BSP_TimClose(TIM_3);//停止闪烁
        IO_RESET(eLED_1);//常亮LED
        while(1)
        {
        }
    }
}




何故?求解!
zchong 发表于 2015-10-26 13:34 | 显示全部楼层
1、if 和else就不需要问了,自己看一下条件是否满足以及为什么就可以了;
2、bootloader程序如果使用了中断,跳转到app前需要关闭。
 楼主| wofei1314 发表于 2015-10-26 13:40 | 显示全部楼层
zchong 发表于 2015-10-26 13:34
1、if 和else就不需要问了,自己看一下条件是否满足以及为什么就可以了;
2、bootloader程序如果使用了中断 ...

就是想问哪里没考虑到,据网友说,不关中断,可能后面程序不好用,但是我的程序压根不跳转....
pigeon0411 发表于 2015-10-26 15:18 | 显示全部楼层
分散文件修改了吗?加载了吗?
zhuotuzi 发表于 2015-10-26 15:36 | 显示全部楼层
你跳转的地址是对的吗?
734774645 发表于 2015-10-26 16:02 | 显示全部楼层
应该是跳转的地址和APP地址不一致
拉克丝 发表于 2015-10-28 22:17 | 显示全部楼层
楼主搞定了吗,是不是跳转地址不对
 楼主| wofei1314 发表于 2016-10-22 16:04 | 显示全部楼层
拉克丝 发表于 2015-10-28 22:17
楼主搞定了吗,是不是跳转地址不对

搞定了,写的数据不对
dongnanxibei 发表于 2016-10-22 18:10 | 显示全部楼层
wofei1314 发表于 2016-10-22 16:04
搞定了,写的数据不对

什么情况,什么数据不对,我以为你要公布一下详情呢
yiyigirl2014 发表于 2016-10-22 21:37 | 显示全部楼层
火速围观,这个技术貌似很有用,等楼主讲经。
 楼主| wofei1314 发表于 2016-10-23 14:21 | 显示全部楼层
yiyigirl2014 发表于 2016-10-22 21:37
火速围观,这个技术貌似很有用,等楼主讲经。

其实没啥,照着ST的Demo一步一步来就行了,我那个是因为写在Flash里的数据不对....
_gege 发表于 2016-10-23 16:15 | 显示全部楼层
bootloader程序使用了中断了吗?如果使用了中断,跳转到app前需要关闭。
yiyigirl2014 发表于 2016-10-26 17:12 | 显示全部楼层
多些楼主提醒,以后多看看官方出的技术手册。
豆腐块 发表于 2016-10-26 21:50 | 显示全部楼层
什么数据不对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

68

帖子

2

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