No.72583 作者:happyjackqu 邮件:jinzhuqu@163.com ID:87244 登陆:3次 文章数:5篇 最后登陆IP:121.32.50.229 最后登陆:2009/7/19 11:29:59 注册:2007/8/16 14:14:56 财富:123 发帖时间:2009/7/19 11:26:24 发贴者IP:113.66.19.28 标题:happyjackqu:S3C2410(IRQ)中断处理过程 摘要:No.72583S3C2410(IRQ)中断处理过程 在此要注意的是区别中断向量表和异常向量表。中断发生后总是从IRQ 或者FIQ 异常入口处进入,然后跳转到相应的异常处理程序处执行,这个异常处理程序一般都是进行查找中断向量表的操作,然后调用中断处理程序。 以下是在应用中中断处理实现的过程:从中不难体会到中断的处理过程。 定义中断向量表的物理地址: 代码 .equ pISR_DABORT , (_ISR_STARTADDRESS+0x10) .equ pISR_RESERVED, (_ISR_STARTADDRESS+0x14) .equ pISR_IRQ , (_ISR_STARTADDRESS+0x18) .equ pISR_FIQ , (_ISR_STARTADDRESS+0x1c) //异常向量表 …………………………………………………………………… .equ pISR_EINT0 , (_ISR_STARTADDRESS+0x20) //中断向量表 .equ pISR_EINT1 , (_ISR_STARTADDRESS+0x24) .equ pISR_EINT2 , (_ISR_STARTADDRESS+0x28) .equ pISR_EINT3 , (_ISR_STARTADDRESS+0x2c) 将中断处理程序入口地址放入中断向量表: 欢迎到我的网店转转:  代码 pISR_EINT0 = (unsigned int)isrEINT0; // isrEINT0 中断处理程序 pISR_EINT1 = (unsigned int)isrEINT1; 定义中断处理程序: 代码 .extern Interrupt_Rbutton .global isrEINT0 isrEINT0: IRQHandle Interrupt_Rbutton 定义异常向量表: 代码 b HandlerUndef b HandlerSWI b HandlerPabort b HandlerDabort .long FileIDTable b HandlerIRQ b HandlerFIQ 定义异常处理函数: 代码 HandlerFIQ: HANDLER HandleFIQ HandlerIRQ: HANDLER HandleIRQ HandlerUndef: HANDLER HandleUndef Handle ......
>>返回讨论的主题
|