版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 ARM中断处理121 中断概述qCPU与外设的数据传输方式通常有以下几种:n查询方式qCPU不断地查询外设状态,如果外设准备就绪就开始传输数据,如果外设没有准备好,就进入循环等待 n中断方式q当外设准备好与CPU进行数据交换时,首先想CPU提出中断请求。,CPU在接到中断请求并在一定的条件下,暂停原来的程序,并执行中断服务程序,执行完后再次回到原程序的nDMA方式q不经CPU而直接进行数据交换的过程3中断概述4中断概述2. S3C2440中断系统结构中断系统结构1、中断系统结构、中断系统结构主要由中断源和控制寄存器两大部分构成,其主要由中断源和控制寄存器两大部分构成,其寄存器主要有寄存
2、器主要有4种:模式、屏蔽、优先级、挂起种:模式、屏蔽、优先级、挂起(标志)寄存器等。(标志)寄存器等。中断源中断源(有子寄存器有子寄存器)子中断源子中断源挂起寄存器挂起寄存器中断源中断源(无子寄存器无子寄存器)子中断源子中断源屏蔽寄存器屏蔽寄存器中断屏蔽中断屏蔽中断模式中断模式优先级仲裁优先级仲裁FIQIRQ中断源挂起中断源挂起中中断断挂挂起起52、中断优先级仲裁器及工作原理、中断优先级仲裁器及工作原理中断系中断系统有统有6个分个分仲裁器和仲裁器和1个总仲裁器,个总仲裁器,每一个仲裁每一个仲裁器可以处理器可以处理6路中断。路中断。6中断向量表(2级)n第一级(上电复位时)q位于启动代码(裸机)
3、bootloader的起始位置78程序开始和入口地址Vector_entry:BReset_HandleBUndef_HandleBSWI_HandleBPrefetch_HandleBAbort_Handle NOPBIRQ_HandleBFIQ_Handle第二级(用于IRQ中断)9第二级中断源入口地址10中断源的管理11128个专用中断控制器13Register Address R/W Description Reset Value SRCPND0 x4A000000 R/W 中断标志寄存器中断标志寄存器 0 x00000000 INTMOD 0 x4A000004 R/W 中断模式寄存
4、器中断模式寄存器0 x00000000 INTMSK0 x4A000008 R/W 中断屏蔽寄存器中断屏蔽寄存器0 xFFFFFFFF PRIORITY0 x4A00000C R/W 中断优先级寄存器中断优先级寄存器0 x7FINTPND0 x4A000010 R/W 中断服务寄存器中断服务寄存器0 x00000000 INTOFFSET 0 x4A000014R中断偏移寄存器中断偏移寄存器0 x00000000 SUBSRCPND 0 x4A000018 R/W 子源挂起寄存器子源挂起寄存器0 x00000000INTSUBMSK 0 x4A00001C R/W 中断子源屏蔽寄存器中断子源屏
5、蔽寄存器0 x7FF主要使用前主要使用前5个寄存器个寄存器该寄存器也就是中断标志寄存器该寄存器也就是中断标志寄存器各位:各位:1:对应中断源:对应中断源有有中断请求中断请求0:对应中断源:对应中断源无无中断请求中断请求注意:必须在中断处理程序中对其标志位清注意:必须在中断处理程序中对其标志位清0。其方法为写。其方法为写1.1、SRCPND-中断源挂起(标志)寄存器中断源挂起(标志)寄存器位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT
6、_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT014该寄存器是设置各中断源是该寄存器是设置各中断源是FIQ中断还是中断还是IRQ中断中断各位:各位:1:对应中断源设为:对应中断源设为FIQ中断模式中断模式
7、0:对应中断源设为:对应中断源设为IRQ中断模式中断模式2、INTMOD-中断模式寄存器中断模式寄存器位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110
8、INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT015各位:各位:1:屏蔽对应中断源:屏蔽对应中断源0:开放对应中断源:开放对应中断源3、INTMSK-中断屏蔽寄存器中断屏蔽寄存器位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328IN
9、T_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT0164、PRIORITY-中断优先级寄存器中断优先级寄存器ARB_SELn-n组优先级顺序控制位组优先级顺序控制位00:REQ0, 1, 2, 3, 4, 5 01:REQ0, 2, 3, 4, 1, 510:REQ0, 3, 4, 1, 2, 5 11:RE
10、Q0, 4, 1, 2, 3, 5ARB_MODEn-n组优先级循环控制位组优先级循环控制位0:优先顺序固定不变:优先顺序固定不变 1:优先顺序循环,每响应一次中断,其顺序循环改变一次,但:优先顺序循环,每响应一次中断,其顺序循环改变一次,但REQ0、REQ5位置不变。位置不变。位号位号含含 义义位号位号含含 义义位号位号含含 义义31:21保保 留留12:11ARB_SEL24ARB_MODE420:19ARB_SEL610:9ARB_SEL13ARB_MODE318:17ARB_SEL58:7ARB_SEL02ARB_MODE216:15ARB_SEL46ARB_MODE61ARB_MOD
11、E114:13ARB_SEL35ARB_MODE50ARB_MODE017各位:各位:1:对应的中断源被响应,且正在执行中断服务:对应的中断源被响应,且正在执行中断服务0:对应中断源未被响应:对应中断源未被响应注意:必须在中断处理程序中对其服务标志位清注意:必须在中断处理程序中对其服务标志位清0。方法为对某位写。方法为对某位写1便清除为便清除为0。即在清除即在清除SRCPND中相应位后,要清除该寄存器相应位。中相应位后,要清除该寄存器相应位。5、INTPND-中断服务(挂起)寄存器中断服务(挂起)寄存器位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源31INT_
12、ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留保留16INT_LCD8INT_TICK0EINT018该寄存器的偏移值指示在该寄存器的偏
13、移值指示在INTPND中显示的中断源中显示的中断源各位:各位:1:对应的中断源,在:对应的中断源,在INTPND中被置位中被置位说明:说明:当在中断服务程序中对当在中断服务程序中对SRCPND、INTPND中的标志位清中的标志位清0时,该时,该寄存器的对应位自动清寄存器的对应位自动清0。6、INTOFFSET-中断偏移寄存器中断偏移寄存器中断源中断源偏移偏移值值中断源中断源偏移偏移值值中断源中断源偏移偏移值值中断源中断源偏移偏移值值INT_ADC31INT_UART123INT_UART215nBATT_FLT7INT_RTC30INT_SPI022INT_TIM414保留保留6INT_SPI
14、129INT_SDI21INT_TIM313EINT8_235INT_UART028INT_DMA320INT_TIM212EINT4_74INT_IIC27INT_DMA219INT_TIM111EINT33INT_USBH26INT_DMA118INT_TIM010EINT22INT_USBD25INT_DMA017INT_WDT9EINT11保留保留24INT_LCD16INT_TICK8EINT00197、SUBSRCPND-子中断源请求标志寄存器子中断源请求标志寄存器对有多个中断源的外设,显示其具体的中断请求对有多个中断源的外设,显示其具体的中断请求各位:各位:1:对应的子中断源有请
15、求:对应的子中断源有请求0:对应的子中断源无请求:对应的子中断源无请求注意:注意:在中断服务程序中,需要对其置在中断服务程序中,需要对其置1的标志位清的标志位清0。位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源31:11保保 留留7INT_TXD23INT_RXD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD0208、INTSUBMSK-子中断源屏蔽寄存器子中断源屏蔽寄存器对有多个中断源的外设,对具体的中断源进行屏蔽对有多个中断源的外设,对具体的中断源进行屏蔽各位:各位
16、:1:屏蔽对应的子中断源:屏蔽对应的子中断源0:开放对应的子中断源:开放对应的子中断源位号位号中断源中断源位号位号中断源中断源位号位号中断源中断源31:11保保 留留7INT_TXD23INT_RXD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD021主要设置各个外中断源的触发方式、滤波主要设置各个外中断源的触发方式、滤波9、外中断控制寄存器、外中断控制寄存器Register Address R/W Description Reset Value EXTINT0 0 x5600008
17、8 R/W 外中断触发方式寄存器外中断触发方式寄存器00 x0 EXTINT1 0 x5600008C R/W 外中断触发方式寄存器外中断触发方式寄存器10 x0 EXTINT2 0 x56000090 R/W 外中断控制寄存器外中断控制寄存器20 x022EINT07-中断请求信号触发方式选择中断请求信号触发方式选择000:低电平触发:低电平触发001:高电平触发:高电平触发01x:下降沿触发:下降沿触发10 x:上升沿触发:上升沿触发11x:双边沿触发:双边沿触发第第3、7、11、15、19、23、27、31位位-保留保留15 14 13 12 11109876543210XEINT3XE
18、INT2XEINT1XEINT0(1)EXTINT0-外中断触发方式控制寄存器外中断触发方式控制寄存器031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16XEINT7XEINT6XEINT5XEINT423EINT815-中断请求信号触发方式选择中断请求信号触发方式选择000:低电平触发:低电平触发001:高电平触发:高电平触发01x:下降沿触发:下降沿触发10 x:上升沿触发:上升沿触发11x:双边沿触发:双边沿触发第第3、7、11、15、19、23、27、31位位-保留保留15 14 13 12 11109876543210XEINT11XEIN
19、T10XEINT9XEINT8(2)EXTINT1-外中断触发方式控制寄存器外中断触发方式控制寄存器131 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16XEINT15XEINT14XEINT13XEINT1224EINT1623-外中断请求信号触发方式选择外中断请求信号触发方式选择000:低电平触发:低电平触发001:高电平触发:高电平触发01x:下降沿触发:下降沿触发10 x:上升沿触发:上升沿触发11x:双边沿触发:双边沿触发第第3、7、11、15、19、23、27、31位位-为为FILTEN各引脚滤波控制位各引脚滤波控制位0:禁止滤波:禁止滤波
20、1:使能滤波:使能滤波15 14 13 12 11109876543210F19EINT19F18EINT18F17EINT17F16EINT16(3)EXTINT2-外中断控制寄存器外中断控制寄存器231 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16F23EINT23F22EINT22F21EINT21F20EINT2025中断源的管理2627S3C2440A具有24个外部中断分别连接至:GPG0-GPG15:外部中断EINT8EINT23GPF0GPF7:外部中断EINT0EINT7支持上升沿、下降沿、高电平、低电平、双沿触发设置步骤:设置步骤:
21、1. 设置触发方式:上升沿、下降沿、高电平、低电平、双沿触发2. 清中断源挂起寄存器、中断服务寄存器(可选、防止原有中断干扰)3. 设置中断模式(IRQ或FIQ可选,默认为IRQ)4. 设置中断优先级(可选,一般默认即可)5. 打开外部中断屏蔽6. 设置中断服务入口程序进入中断:进入中断:1、清中断源挂起寄存器2、清中断服务寄存器 防止反复进入中断3、执行中断服务程序用到的寄存器:用到的寄存器:SRCPND INTPND INTMASKEXTINT0 EINTMASK EINTPEND中断触发方式选择:中断触发方式选择:000:低电平触发 001:高电平触发01x:下降沿触发 10 x:上升沿
22、触发11x:双边沿触发在在2410init.s文件中与的中断初始化部分文件中与的中断初始化部分程序开始及中断入口程序开始及中断入口bResetHandler bHandlerUndef ;handler for Undefined modebHandlerSWI;handler for SWI interruptbHandlerPabort ;handler for PAbortbHandlerDabort ;handler for DAbortb.;reservedbHandlerIRQ;handler for IRQ interrupt bHandlerFIQ;handler for FI
23、Q interrupt本段意义:本段意义:利用后面定义的宏来展开上面各行,使其进入它们所对利用后面定义的宏来展开上面各行,使其进入它们所对应的中断服务子程序。应的中断服务子程序。中断程序举例中断程序举例32LTORG ;声明一个数据缓冲池的开始声明一个数据缓冲池的开始HandlerFIQ HANDLER HandleFIQHandlerIRQ HANDLER HandleIRQHandlerUndef HANDLER HandleUndefHandlerSWI HANDLER HandleSWIHandlerDabort HANDLER HandleDabortHandlerPabort HAN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024物流金融、信用保险服务合同
- 2025年度市政道路改造工程设计与施工总承包合同书3篇
- 2025年IDC机房租赁合同及网络安全评估协议3篇
- 二零二五版金融租赁合同抵押担保与租赁资产处置协议2篇
- 2025厂房升级改造与设备更新一体化合同3篇
- 2024跨区域绿色能源开发与合作框架合同
- 2025版韵达快递业务承包及运营合同3篇
- 幼儿园2025年度绿化维护服务合同2篇
- 二零二五年房车托管与户外运动俱乐部合作合同3篇
- 个人二手手机买卖合同(2024版)2篇
- 有效排痰的护理ppt(完整版)
- 鲁教版七年级数学下册(五四制)全册完整课件
- 英语六级词汇(全)
- 算法向善与个性化推荐发展研究报告
- 聚合物的流变性详解演示文稿
- 电气设备预防性试验安全技术措施
- 医院出入口安检工作记录表范本
- 内科学教学课件:免疫性血小板减少症(ITP)
- 中华人民共和国文物保护单位登记表
- 《生物制品学》课程教学大纲
- 硅基负极材料项目可行性研究报告_范文参考
评论
0/150
提交评论