打印
[其他ST产品]

请教,关于STR71x的中断向量寄存器(EIC_IVR)!

[复制链接]
3127|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mqhu|  楼主 | 2007-2-8 23:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STR71x的中断向量寄存器(EIC_IVR)存放的是当前中断通道中断服务程序的相关的存储器地址。但是,在Keil ARM的启动代码中,它把0xE59F0000赋给EIC_IVR:
 LDR     R0, =EIC_BASE
 LDR     R1, =0xE59F0000     ; LDR PC,[PC,#ofs] (High 16-bits)
 STR     R1, [R0, #IVR_OFS]  ; Store into IVR[31:16]
即:0xE59F作为高十六位,然而,在71x的存储器空间中,0xE59Fxxxx部分是属于保留部分的,这不是矛盾吗?
请大侠指点!
沙发
香水城| | 2007-2-9 08:11 | 只看该作者

中断向量寄存器(EIC_IVR)存放的不是中断服务程序的地址

中断向量寄存器存放的是一条指令,0xE59F0000应该是一条跳转指令的高16位。

使用特权

评论回复
板凳
chaoswang| | 2007-2-9 17:09 | 只看该作者

LDR pc,[pc,#offset]

LDR pc,[pc,#offset]的高16位.

使用特权

评论回复
地板
mqhu|  楼主 | 2007-2-9 21:15 | 只看该作者

明白,谢谢楼上两位的指点!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

9

帖子

0

粉丝