OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5014|回复: 4

调试IAP程序时 跳转时出现问题 求指教

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2013-10-12
在线时间
0 小时
发表于 2013-10-12 12:02:35 | 显示全部楼层 |阅读模式

void JumpAppProgram(z_u32 u32ApplicationAddress)
{
    s_u32ApplicationAdress = (*(__IO uint32_t*)u32ApplicationAddress);
    s_u32xxxxxx = u32ApplicationAddress;

    /* Test if user code is programmed starting from address "u32ApplicationAddress" */
    if (((*(__IO uint32_t*)u32ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
    {
        typedef void (*pFunction)(void);
        z_u32 JumpAddress = 0x00000000;

        pFunction Jump_To_Application;

        DebugPrint("\r\n [Jump App Main Function!] \r\n");

        /* Jump to user application */
        JumpAddress = *(__IO uint32_t*) (u32ApplicationAddress + 4);    //把复位地址赋值给JumpAddress
        Jump_To_Application = (pFunction) JumpAddress;    //初始化用户程序的堆栈指针

        /* Initialize user application's Stack Pointer */
        __set_PSP(*(__IO uint32_t*) u32ApplicationAddress);
        __set_CONTROL(0);    //选择主堆栈指针MSP
        __set_MSP(*(__IO uint32_t*) u32ApplicationAddress);    //STM32 跳转,将主堆栈指针指向用户区域,堆栈
        Jump_To_Application();     // 赋给PC指针
    }
    else
    {
        DebugPrint("\r\n [Jump App Program Fail!] \r\n");
    }
}

传入的地址为0x08020800
s_u32ApplicationAdress = (*(__IO uint32_t*)u32ApplicationAddress);
s_u32xxxxxx = u32ApplicationAddress;

查看到的u32ApplicationAdress  为0xFFFFFFFF
求解释

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-12 14:16:05 | 显示全部楼层
说明你这个地址0x08020800  的值为0XFFFFFFFF。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2013-10-12
在线时间
0 小时
 楼主| 发表于 2013-10-12 15:05:55 | 显示全部楼层
能否讲解下出现此问题的原因?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-12 22:50:32 | 显示全部楼层
你的APP程序存放在哪里?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-10-9
在线时间
5 小时
发表于 2013-10-13 21:04:59 | 显示全部楼层
本人也遇到无法跳转问题,程序关掉所有中断时候就能进入跳转
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-11 10:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表