[ZLG-ARM] 为什么要在IRQ入口0X18处放上“LDR PC,[PC,#-0XFF0]”

[复制链接]
5753|15
 楼主| zzyszl 发表于 2007-10-23 21:32 | 显示全部楼层 |阅读模式
为什么要在IRQ入口0X18处放上&nbsp;&nbsp;&nbsp;LDR&nbsp;PC,[PC,#-0XFF0]&nbsp;?<br /><br />不明白的地方是为什么要减去0xFF0,直接把处理子程序的入口地址放到这里不就行了吗?<br /><br />请谁了解的帮忙解答一下&nbsp;&nbsp;LDR&nbsp;PC,[PC,#-0XFF0]&nbsp;&nbsp;具体作用,0xff0是一个什么值,一直没有查到。
hotpower 发表于 2007-10-23 23:47 | 显示全部楼层

倒退着从0xFFFFF030中取出VicVectAddr

LDR&nbsp;PC,[PC,#-0XFF0]相当与<br />jmp&nbsp;VicVectAddr
 楼主| zzyszl 发表于 2007-10-24 11:55 | 显示全部楼层

在IRQ入口0X18处怎么知道PC呢?

先谢谢楼上的&nbsp;hotpower&nbsp;&nbsp;但是还不明白:<br /><br />跳转到IRQ入口处0x18前应该是不知道何时进来,这样PC的值应该是不确定的吧,请教<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;PC,[PC,#-0XFF0]相当与<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jmp&nbsp;VicVectAddr<br /><br /><br />如何解释。
ppz2005 发表于 2007-10-24 14:15 | 显示全部楼层

地址长度的原因

中断进来时,地址是确定的,就是这一条指令的地址加8,就是0x00000020,减去0x00000ff0正好是0xffffff30。之所以不能直接放上一条跳转指令是因为arm不支持这样长度的直接地址。一般的起动文件中其它的跳转都是跳转到0开始的较短地址所以没问题。
zlgarm 发表于 2007-10-24 18:05 | 显示全部楼层

三级流水线

4楼说的有道理,请注意一下ARM7指令是三级流水线结构就行了!
hpy013 发表于 2007-10-24 19:04 | 显示全部楼层

做个记号,记住。

  
 楼主| zzyszl 发表于 2007-10-24 23:28 | 显示全部楼层

0xffffff30是什么地址?

4楼说<font color=#C000FF>:“中断进来时,地址是确定的,就是这一条指令的地址加8,就是0x00000020,减去0x00000ff0正好是0xffffff30。之所以不能直接放上一条跳转指令是因为arm不支持这样长度的直接地址。一般的起动文件中其它的跳转都是跳转到0开始的较短地址所以没问题。”<br /></font><br />有两点不明白,请指点指点!<br /><br /><font color=#FF00C0>1)</font>“地址加8”为什么不是+4?<br /><br /><font color=#FF00C0>2)</font>“0xffffff30”是个什么地址?我在资料上查了,最高地址我查到的就是“0xfffff23c”,我知道0xfffff000---0xffffffff是分配给VIC的,但是不知道“0xffffff30”是个什么地址,有什么用?
hotpower 发表于 2007-10-24 23:57 | 显示全部楼层

当前中断地址

  
 楼主| zzyszl 发表于 2007-10-25 08:18 | 显示全部楼层

我想是“0xffffff30”地址错了!

我想了很久应该是“0xfffff<font color=#FF0040>f</font>30”地址错了!,4楼说的这个地址应改为“0xFFFFF<font color=#FF8040>0</font>30”,这样我想在理论上就通了!<br /><br /><br /><br /><br />谢谢大家帮我解决了这个问题!<br />
computer00 发表于 2007-10-25 09:34 | 显示全部楼层

晕...二楼一开始给你就是0xFFFFF030啊

这个地址里面保存的就是当前需要处理的中断入口地址,硬件自动将它放进去的。
xwj 发表于 2007-10-25 10:04 | 显示全部楼层
ppz2005 发表于 2007-10-25 10:53 | 显示全部楼层

对,是0xFFFFF030,我写错了

另外7楼问为什么是地址加8,不是加4,这个与arm流水线及各厂家的硬件有关,厂家的手册上会给出是加多少。
hotpower 发表于 2007-10-25 20:03 | 显示全部楼层

倒塌了~~~LZ从来就没相信俺这个农民大叔~~~晕!!!

  
lovewwy 发表于 2011-2-28 20:07 | 显示全部楼层
amini 发表于 2011-3-3 17:49 | 显示全部楼层
太乱了,留个印先。
FVJFIFE 发表于 2011-3-3 17:52 | 显示全部楼层
楼主这个问题到底解决了没?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

37

帖子

1

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