ARM中断控制专用寄存器及部分解答.doc

ARM中断控制专用寄存器及部分解答.doc

ID:55089209

大小:70.00 KB

页数:6页

时间:2020-04-27

ARM中断控制专用寄存器及部分解答.doc_第1页
ARM中断控制专用寄存器及部分解答.doc_第2页
ARM中断控制专用寄存器及部分解答.doc_第3页
ARM中断控制专用寄存器及部分解答.doc_第4页
ARM中断控制专用寄存器及部分解答.doc_第5页
资源描述:

《ARM中断控制专用寄存器及部分解答.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ARM中断控制专用寄存器及部分解答2007-12-1922:05寄存器地址读/写描述复位值SRCPND0=中断没有发出请求;4AR/W源挂起寄存器1=中断源发出中断请求INTMOD0=IRQ模式4AR/W中断模式寄存器1=FIQ模式INTMSK0=允许响应中断;4AR/WFFFFFFFF中断屏蔽寄存器1=中断请求被屏蔽INTPND0=未发生中断请求4AR/W中断挂起寄存器1=中断源发出中断请求PRIORITY4A00000CR/WIRG优先级控制寄存器7F中断优先权寄存器一、中断控制寄存器位SRCPNDBit描述复位值INT_ADC31模数转换中断位0INT_RTC30实时时钟中断位0I

2、NT_SPI129SPI1中断位0INT_UART028串口0中断0INT_IIC27IIC0INT_USBH26USB主机0INT_USBD25USB设备0保留24保留0INT_UART123串口1中断0INT_SPI022SPI0中断INT_SDI21INT_DMA320INT_DMA219INT_DMA118INT_DMA017INT_LCD16INT_UART215INT_TIMER414INT_TIMER313INT_TIMER212INT_TIMER111INT_TIMER010INT_WDT9INT_TICK8nBATT_FLT7保留6EINT8_235EINT4_74EI

3、NT33EINT22EINT11EINT00s2440IOP->rEINTPEND=0x200;//EINT9(0b001000000000)s2440IOP->rEINTMASK&=~0x200;s2440IOP->rEINTPEND=0x100;//EINT9s2440IOP->rEINTMASK&=~0x100;所以EINT11=0X800即0b100000000000-------------------估计,呵呵下面我将讲解每个寄存器在一个中断处理流程中所扮演的角色SRCPND/SUBSRCPND这两个寄存器在功能上是相同的,它们是中断源引脚寄存器,在一个中断异常处理流程中,中

4、断信号传进中断异常处理模块后首先遇到的就是SRCPND/SUBSRCPND,这两个寄存器的作用是用于标示出哪个中断请求被触发。SRCPND的有效位为32,SUBSRCPND的有效位为11,它们中的每一位分别代表一个中断源。SRCPND为主中断源引脚寄存器,SUBSRCPND为副中断源引脚寄存器。这里列举出SRCPND的各个位信息:每个位的初始值皆为0。假设现在系统触发了TIMER0中断,则第10bit将被置1,代表TIMER0中断被触发,该中断请求即将被处理(若该中断没有被屏蔽的话)。SUBSRCPND情况与SRCPND相同,这里就不多讲了。INTMOD寄存器有效位为32位,每一位与SR

5、CPND中各位相对应,它的作用是指定该位相应的中断源处理模式(IRQ还是FIQ)。若某位为0,则该位相对应的中断按IRQ模式处理,为1则以FIQ模式进行处理,该寄存器初始化值为0x,即所有中断皆以IRQ模式进行处理。(详细请参考s3c2410操作手册)。INTMSK/INTSUBMSK寄存器为中断屏蔽寄存器,INTMSK为主中断屏蔽寄存器,INTSUBMSK为副中断屏蔽寄存器。INTMSK有效位为32,INTSUBMSK有效位为11,这两个寄存器各个位与SRCPND和SUBSRCPND分别对应。它们的作用是决定该位相应的中断请求是否被处理。若某位被设置为1,则该位相对应的中断产生后将被忽

6、略(CPU不处理该中断请求),设置为0则对其进行处理。这两个寄存器初始化后的值是0xFFFFFFFF和0x7FF,既默认情况下所有的中断都是被屏蔽的。到目前为止我们总共讲解了SRCPND,INTMOD,INTMSK,SUBSRCPND,INTSUBMSK五个寄存器,在继续讲解PRIORITY寄存器之前我们先来看一张图。先弄清楚一点,现在要讨论的是一个中断优先级的判断问题。为什么会有中断有先级的问题呢?我们知道CPU某个时刻只能对一个中断源进行中断处理,如果现在有3个中断同时发生了,那CPU要按什么顺序处理这个3个中断呢?这正是引入优先级判断的原因所在,通过优先级判断,CPU可以按某种顺序

7、逐个处理中断请求。3sc2410的优先级判断分为两级。如上图所示,SRCPND寄存器对应的32个中断源总共被分为6个组,每个组由一个ARBITER(0~5)寄存器对其进行管理。中断必须先由所属组的ARBITER(0~5)进行第一次优先级判断(第一级判断)后再发往ARBITER6进行最终的判断(第二级判断)。ARBITER(0~5)这六个组的优先级已经固定,我们无法改变,也就是说由ARBITER0控制的该组中断优先级最高(该组产生的中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。