OpenEdv-开源电子网

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

请教关于IAP跳转问题

[复制链接]

12

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
292
金钱
292
注册时间
2014-3-6
在线时间
31 小时
发表于 2014-4-28 12:53:04 | 显示全部楼层 |阅读模式
我用了“第四十八章的串口IAP实验”的程序烧录了开发板,然后把一个APP放在FLASH的首地址#define FLASH_APP1_ADDR 0x08010000  里
烧写串口的程序可以成功跳转到这个APP里面

IAP程序放在0x08000000~0x0800FFFF


我把IAP程序改到我自己应用里面去

我在mian()还是沿用这个语句
if(((*(vu32*)(FLASH_APP1_ADDR+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
{  
iap_load_app(FLASH_APP1_ADDR);//执行FLASH APP代码
}
其中
void iap_load_app(u32 appxaddr)
{
if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000) //检查栈顶地址是否合法.

jump2app=(iapfun)*(vu32*)(appxaddr+4); //用户代码区第二个字为程序开始地址(复位地址)
MSR_MSP(*(vu32*)appxaddr); //初始化APP堆栈指针(用户代码区的第一个字用于存放栈顶地址)
jump2app(); //跳转到APP.
}
}

我用JTAG烧录串口的IAP程序进去按按键可以直接跳转到APP(RTC实验)里去,液晶屏会显示程序内容
我再用JTAG烧录自己修改的IAP程序进去,同样按按键结果液晶屏就变成一片空白
然后再少串口的那个IAP,又能进入APP了

RTC的APP那部分程序没有动,烧录IAP程序的时候没有对其进行更新

不知道为什么我直接调用这个函数就跳转不成功,希望高手能给予指点,我错在什么地方?

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

使用道具 举报

12

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
292
金钱
292
注册时间
2014-3-6
在线时间
31 小时
 楼主| 发表于 2014-4-28 15:54:09 | 显示全部楼层
原来是我前面初始了一个定时器,只要关闭定时器就可以进入APP了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-4-28 18:45:14 | 显示全部楼层
回复【2楼】xiaosi204:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-8-18
在线时间
10 小时
发表于 2015-8-21 20:42:13 | 显示全部楼层
楼主  能把程序分享下么?最近在学习IAP  但是例程跳转不到APP
回复 支持 反对

使用道具 举报

3

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2015-12-8
在线时间
14 小时
发表于 2015-12-9 14:06:25 | 显示全部楼层
回复【4楼】wyx19931227:
---------------------------------
我的也不能成功跳转,你的解决了嘛?希望指点一二
回复 支持 反对

使用道具 举报

7

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-8-18
在线时间
10 小时
发表于 2015-12-17 14:45:45 | 显示全部楼层
回复【5楼】songling:
---------------------------------
已经可以了    就是要加一个软复位
回复 支持 反对

使用道具 举报

3

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2015-12-8
在线时间
14 小时
发表于 2015-12-17 16:13:55 | 显示全部楼层
回复【6楼】wyx19931227:
---------------------------------
嗯嗯,谢谢,我的也可以了
回复 支持 反对

使用道具 举报

50

主题

134

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2014-5-21
在线时间
84 小时
发表于 2016-2-19 14:08:16 | 显示全部楼层
wyx19931227 发表于 2015-12-17 14:45
回复【5楼】songling:
---------------------------------
已经可以了    就是要加一 ...

可否说下经验?
回复 支持 反对

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
139
金钱
139
注册时间
2015-9-16
在线时间
39 小时
发表于 2016-12-21 18:01:17 | 显示全部楼层
wyx19931227 发表于 2015-12-17 14:45
回复【5楼】songling:
---------------------------------
已经可以了    就是要加一 ...

怎么复位呢?
回复 支持 反对

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2019-5-16
在线时间
28 小时
发表于 2020-3-10 09:56:36 | 显示全部楼层
xiaosi204 发表于 2014-4-28 15:54
原来是我前面初始了一个定时器,只要关闭定时器就可以进入APP了

楼主我也在前面用了定时器,怎么关闭定时器,请教一下
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-22 00:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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