您好,欢迎来到维库电子开发网!
|维库知道
全球最大的芯片PDF资料下载基地
立即登录 免费注册 维库知道
  首页 > 维库知道首页 > ARM技术 > 在《ARM 微控制器基础与实践》中的157 页,在0X0000018 处加LDR PC,[PC,#-0XFF0]

在《ARM 微控制器基础与实践》中的157 页,在0X0000018 处加LDR PC,[PC,#-0XFF0]

为什么就会将VICVectAddr 寄存器中保存的地址装入PC A:like this: VICVectAddr = 0xFFFFF030 0x00000018+0x08-0xFF0 = 0xFFFFF030 therefore PC = [FFFFF030] A:为什么不能进入中断,init.s,target.c 都是贵公司的提供的启动代码!!! 向量的初始化为: Vectors LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0xB8A06F58 LDR PC, [PC,#-0xff0] LDR PC, FIQ_Addr ResetAddr DCD Reset UndefinedAddr DCD Undefined SWI_Addr DCD SoftwareInterrupt PrefetchAddr DCD PrefetchAbort DataAbortAddr DCD DataAbort Nouse DCD 0 IRQ_Addr DCD 0 FIQ_Addr DCD FIQ_Handler Undefined B Undefined SoftwareInterrupt B SoftwareInterrupt PrefetchAbort B PrefetchAbort DataAbort B DataAbort FIQ_Handler STMFD SP!, {R0-R3, LR} BL FIQ_Exception LDMFD SP!, {R0-R3, LR} SUBS PC, LR, #4 主程序如下: void __irq IRQ_Handler(void) { } void __irq Time1_Handler(void) { } int main(void) { . . . T0PR = 99; T0MCR = 0x03; T0MR0 = 110592/2; T0TCR = 0x03; T1PR = 99; T1MCR = 0x03; T1MR0 = 70000; T1TCR = 0x03; T0TCR = 0x01; T1TCR = 0x01; VICIntSelect = 0x00000000; VICIntEnable = 0x00000030; VICVectCntl0 = 0x00000022; VICVectAddr0 = (int)IRQ_Handler; VICVectCntl1 = 0x0000002f; VICVectAddr1 = (int)Time1_Handler; while(1); }
提问时间:2009-11-6 10:07:25
  
  
我也来回答:

最新知道

热点知道

关于我们 | 广告服务 | 服务项目 | 付款方式 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2009 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8016 QQ:467090989 | MSN:dzsc076@hotmail.com | 邮箱:weeqoomaster@21cn.com
网络警察网络警察