arm2410中断

上传人:第*** 文档编号:49923880 上传时间:2018-08-04 格式:PPT 页数:23 大小:403KB
返回 下载 相关 举报
arm2410中断_第1页
第1页 / 共23页
arm2410中断_第2页
第2页 / 共23页
arm2410中断_第3页
第3页 / 共23页
arm2410中断_第4页
第4页 / 共23页
arm2410中断_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《arm2410中断》由会员分享,可在线阅读,更多相关《arm2410中断(23页珍藏版)》请在金锄头文库上搜索。

1、嵌入式电子工程师1S3C2410中断2大纲中断概述 中断结构与工作原理 相关寄存器 应用举例3大纲中断概述 中断结构与工作原理 相关寄存器 应用举例4 CPU与外设的数据传输方式通常有以下几种:查询方式:CPU不断的查询外设状态,如果外设准备就绪就开始传 输数据,如果外设还没有准备好,就进入循环等待中断方式:当外设准备好与CPU进行数据交换时,首先向CPU提出 中断请求,CPU在接到中断请求并在一定条件下,暂停原 来的程序,并执行中断服务程序,执行完后再次返回源 程序的过程DMA方式:不经过CPU而直接进行数据交换的过程中断概述5中断法的引入,极大的提高了CPU的利用效率 ARM920T内核有

2、两个中断IRQ中断和FIQ中断IRQ是普通中断用于处理一般事件,FIQ是快速中断 ,一般用于大批量数据传送等情况 S3C2410中断控制器有56个中断源对外提供24个外中断输入引脚,内部所有设备都有 中断请求信号,例如DMA控制器、UART、IIC等等 那2410是如何协调这些中断的呢?中断概述61、中断裁决机制中断产生后根据中断屏蔽、中断优先级、中断 模式等寄存器决定中断执行顺序,同一时刻只用 一种中断处于执行状态 2、中断向量表使用两级中断向量表的机制,使中断服务程 序可以顺利执行中断概述7大纲中断概述 中断结构与工作原理 相关寄存器 应用举例81、中断系统组成: 主要由中断源和控制寄存器

3、两大部分构成,其 寄存器主要有4种:模式、屏蔽、优先级、挂起( 标志)寄存器等中断源 (有子寄存器)子中断源 挂起寄存器中断源 (无子寄存器)子中断源 屏蔽寄存器中断屏蔽中断模式优先级仲裁FIQIRQ中断源挂起中 断 挂 起中断结构与工作原理9中断系统有6个分 仲裁器和1个总仲裁 器,每一个仲裁器可 以处理6路中断2、中断裁决过程中断结构与工作原理103、中断向量表(两级) 第一级(上电复位时): 位于启动代码(裸机)、head.s(bootloader)的起始位置中断概述地 址异 常进入模式 0x0000,0000复位管理模式 0x0000,0004未定义指令未定义模式 0x0000,000

4、8软件中断管理模式 0x0000,000C中止(预取指令)中止模式 0x0000,0010中止(数据)中止模式 0x0000,0014保留保留 0x0000,0018IRQIRQ 0x0000,001CFIQFIQ11程序开始及中断入口 bResetHandler bHandlerUndef;handler for Undefined mode bHandlerSWI;handler for SWI interrupt bHandlerPabort;handler for PAbort bHandlerDabort;handler for DAbort b.;reserved bHandler

5、IRQ;handler for IRQ interrupt bHandlerFIQ;handler for FIQ interrupt12 第二级(用于处理IRQ中断):在启动代码中,利用中断偏移寄存器进行中断地址分派中断概述IsrIRQ sub sp,sp,#4 ;reserved for PC stmfdsp!,r8-r9 ldr r9,=INTOFFSET;中断偏移寄存器 ldr r9,r9 ldr r8,=HandleEINT0;中断向量表首地址 add r8,r8,r9,lsl #2 ldr r8,r8 str r8,sp,#8 ldmfdsp!,r8-r9,pc 根据中断服务号,转

6、去执行相应的中断处理程序段。13#define pISR_EINT0 (*(unsigned *)(ISRSTARTADDR+0x20) #define pISR_EINT1 (*(unsigned *)(ISRSTARTADDR+0x24) #define pISR_EINT2 (*(unsigned *)(ISRSTARTADDR+0x28) #define pISR_EINT3 (*(unsigned *)(ISRSTARTADDR+0x2c) #define pISR_EINT4_7 (*(unsigned *)(ISRSTARTADDR+0x30) #define pISR_EINT

7、8_23 (*(unsigned *)(ISRSTARTADDR+0x34) #define pISR_NOTUSED6 (*(unsigned *)(ISRSTARTADDR+0x38) #define pISR_BAT_FLT (*(unsigned *)(ISRSTARTADDR+0x3c) #define pISR_TICK (*(unsigned *)(ISRSTARTADDR+0x40) #define pISR_WDT (*(unsigned *)(ISRSTARTADDR+0x44) #define pISR_TIMER0 (*(unsigned *)(ISRSTARTADDR

8、+0x48) #define pISR_TIMER1 (*(unsigned *)(ISRSTARTADDR+0x4c) .14大纲中断概述 中断结构与工作原理 相关寄存器 应用举例15中断控制器专用寄存器Register Address R/W Description Reset Value SRCPND0x4A000000 R/W 中断标标志寄存器 0x00000000 INTMOD 0x4A000004 R/W 中断模式寄存器0x00000000 INTMSK0x4A000008 R/W 中断屏蔽寄存器0xFFFFFFFF PRIORITY0x4A00000CR/W 中断优优先级级寄存器

9、0x7FINTPND0x4A000010 R/W 中断服务务寄存器0x00000000 INTOFFSET0x4A000014R中断偏移寄存器0x00000000 SUBSRCPND0x4A000018R/W 子源挂起寄存器0x00000000INTSUBMSK0x4A00001CR/W 中断子源屏蔽寄存器0x7FF主要使用前5个寄存器有8个专用寄存器16该寄存器也就是中断标志寄存器各位: 1:对应中断源有中断请求 0:对应中断源无中断请求 注意:必须在中断处理程序中对其标志位清0。其方法为写1.1、SRCPND-中断源标标志(挂起)寄存器位号中断源位号中断源位号中断源位号中断源31INT_A

10、DC23INT_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_TICK0EINT017该寄存器是设置各中断源是FIQ中断还是IRQ

11、中断 各位含义: 1:对应中断源设为FIQ中断模式 0:对应中断源设为IRQ中断模式2、INTMOD-中断模式寄存器3、INTMSK-中断屏蔽寄存器各位含义:1:屏蔽对应中断源 0:开放对应中断源 顺序:同中断源标志寄存器184、PRIORITY-中断优优先级级寄存器ARB_SELn-n组优先级顺序控制位 00:REQ 0,1,2,3,4,5 01:REQ 0, 2, 3, 4, 1, 5 10:REQ 0,3,4,1,2,5 11:REQ 0, 4, 1, 2, 3, 5 ARB_MODEn-n组优先级循环控制位0:优先顺序固定不变 1:优先顺序循环,每响应一次中断,其顺序循环改变一次 ,但

12、REQ0、REQ5位置不变。位号含 义义位号含 义义位号含 义义31:21保 留12:11ARB_SEL24ARB_MODE420:19ARB_SEL610:9ARB_SEL13ARB_MODE318:17ARB_SEL58:7ARB_SEL02ARB_MODE216:15ARB_SEL46ARB_MODE61ARB_MODE114:13ARB_SEL35ARB_MODE50ARB_MODE019各位: 1:对应的中断源被响应,且正在执行中断服务 0:对应中断源未被响应 注意: 必须在中断处理程序中对其服务标志位清0。 方法为对某位写1便清除为0 即在清除SRCPND中相应位后,要清除该寄存器

13、相应位。5、INTPND-中断服务务(挂起)寄存器6、INTOFFSET-中断偏移寄存器该寄存器的偏移值指示在INTPND中显示的中断源 各位: 1:对应的中断源,在INTPND中被置位时置位用于二级中断向量表中区分各中断源 注意:当在中断服务程序中对SRCPND、INTPND中的标志位清0 时,该寄存器的对应位自动清0207、SUBSRCPND-子中断源请请求标标志寄存器对有多个中断源的外设,显示其具体的中断请求各位:1:对应的子中断源有请求0:对应的子中断源无请求 注意:在中断服务程序中,需要对其置1的标志位清0。位号中断源位号中断源位号中断源31:11保 留7INT_TXD23INT_R

14、XD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD0218、INTSUBMSK-子中断源屏蔽寄存器对有多个中断源的外设,对具体的中断源进行屏蔽 各位: 1:屏蔽对应的子中断源 0:开放对应的子中断源位号中断源位号中断源位号中断源31:11保 留7INT_TXD23INT_RXD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD022凌阳教育网站:http:/ 凌阳教育: E_mail: 联系电话: 01062981668292101062981668292523

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号