- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
44b0中断深入详解(结合代码)
zhe 44b0中断深入详解(结合代码)
一、44B0中断系统
44B0中断系统中有两张中断转移表,经过二重转移才跳到中断处理程序。 第一张中断向量表由硬件决定,所在区域为ROM(flash),地址空间从0X00开始,其中0X00-0X1C为异常向量入口地址,0X20-0XC0为中断向量入口地址。 另一张中断向量表在RAM中,可以随便改,其位置在程序连接后才定。由于 RAM放在地址空间的高端(距离中断向量超过了32M),为了从第一张中断向量表跳到第二张中断向量表,故在第一张中断向量表对应位置上写上 ldr PC,# interrupt_service如:ldr PC,=HandlerEINT4567。
1、 一级中断向量表
(以下为汇编代码片断,详见44B0数据手册11章——中断控制器)
AREA Init,CODE,READONLY;说明:关键字ENTRY告诉编译器保留这段代码;从代码看Init段就是要写入0x00地址的原始中断向量,因此把这个文件编译生成的44binit.O和Init填入ADS-Linker-Layout页对应项中。【这样编译器会把该段代码编译到0X0地址。】
ENTRY ;ENTRY程序入口标号需要顶格式写,否则出错。
b ResetHandler ;复位异常 0x0000 0000 b HandlerUndef ;未定义异常 0x0000 0004 b HandlerSWI ;软件中断异常 0x0000 0008 b HandlerPabort ;指令预取异常 0x0000 000C b HandlerDabort ;数据预取异常 0x0000 0010 b . ;保留 0x0000 0014 b HandlerIRQ ;外部中断 外设中断都是在这里扩展的 0x0000 0018 b HandlerFIQ ;快速中断 0x0000 001C;***IMPORTANT NOTE***;If the H/W vectored interrutp mode is enabled, The above two instructions should;be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller.; b HandlerIRQ - subs pc,lr,#4;说明:原文注明当使用向量中断模式时,需用subs pc,lr,#4来代替前面的语句。这是原来S3C44B0X硬件中的一个BUG,后期推出的S3C44B0X已经解决此BUG,但是为了兼容早期的版本,用subs pc,lr,#4替换后也可以正常工作,相当于现在的硬件中两条语句都可以兼容,后期的器件手册中已经注明可以直接采用b HandlerIRQ的方式
VECTOR_BRANCH ldr pc,=HandlerEINT0 ;mGA H/W interrupt vector table 0x0000 0020 ldr pc,=HandlerEINT1 ; ldr pc,=HandlerEINT2 ; ……
……
b . ldr pc,=HandlerADC ;mGKB 0x0000 00C0 b . ; b . ; b . ; b . ; b . ;mGKB b . b . ;0xe0=EnterPWDN ldr pc,=EnterPWDN
LTORG
通过这段代码,就在44B0的ROM中以0x00为起始地址的地方建立起了一张中断向量表,而且这个表的顺序完全符合44B0数据手册中对中断向量地址的定义要求。
2、 二级中断向量表
^ _ISR_STARTADDRESS ;一般为 #define _ISR_STARTADDRESS 0xc7fff00
HandleReset # 4
HandleUndef # 4
HandleSWI # 4
HandlePabort # 4
HandleDabort # 4
Hand
文档评论(0)