[ZLG-ARM] IAP跳转问题

[复制链接]
7614|7
 楼主| ybqchj 发表于 2009-1-3 14:56 | 显示全部楼层 |阅读模式
我用的板子是LPC2468,用的的IAR编绎器,在做IAP实验的时候已将程序的代码存到指定的扇区(8扇区)中,求教高手我要怎么用C语言写跳转指令,让8扇区中的程序跑起来。 
computer00 发表于 2009-1-3 14:59 | 显示全部楼层

强制转换为函数调用,((void(*)(void))地址)();

  
 楼主| ybqchj 发表于 2009-1-3 16:51 | 显示全部楼层

打错了

地址是0x40000950&nbsp;to&nbsp;0x40000b50<br /><br />就差最后一步了,好郁闷,也碰到这种问题的帮帮忙
computer00 发表于 2009-1-3 17:34 | 显示全部楼层

不用管它,也许是你两个程序之间的堆栈地址不一样,系统

  
 楼主| ybqchj 发表于 2009-1-4 08:21 | 显示全部楼层

8扇区的程序跑不起来

我在0扇区的程序中只执行跳转指令<br /><br />main(void)<br />{<br />&nbsp;&nbsp;((void(*)(void))0x00008000)();<br />}<br />8扇区中放着一个LED灯亮的小程序,上电后LED没亮,我要怎么跟踪指针有没有跳到8扇区中&nbsp;
liwenz 发表于 2009-1-5 07:23 | 显示全部楼层

高手给段demo程序

我看了《深入浅出ARM7-213x&nbsp;上》&nbsp;P376&nbsp;IAP演示实验<br />可我的是keil&nbsp;版本,<br />不知道怎么修改
 楼主| ybqchj 发表于 2009-1-6 11:28 | 显示全部楼层

谢谢computer00

现在可以调通了,只是那个提示还存在,我是将Flash分成两个区,刚开始运行在第一区,当条件满足的时候跳到第二区,在第二区执行程序当条件再满足跳转条件的时候又跳到第一区,问题:现在如果第一区的条件再一次满足的话就跳不回第二区了
computer00 发表于 2009-1-6 12:15 | 显示全部楼层

晕...每见过这样跳来跳去的...跳回去需要重新初始化堆栈

也就是应该跳到启动的地址去。但是还可能存在着寄存器复位不完全导致程序运行出错的可能。<br />你还是先把运行环境、堆栈结构、各种寄存器搞清楚后再来研究这个问题吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

56

帖子

0

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