S3C2440 中断相关寄存器小探
==========================================
转载时请注明出处和作者联系方式
文章出处:http://blog.csdn.net/longintchar
作者联系方式:longintchar@163.com
=====================================
肯定有的朋友和我一样,对2440里面的中断寄存器迷惑,屡不清脉络。结合网上资料和自己的琢磨,我大概搞清楚了。先上图,以飨读者。
1. 中断分为两大类
(1)外部中断
个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。这些中断对应的是片子上的引脚,用的时候,需要把引脚配置为中断模式,并且不要上拉。他们的触发方式由寄存器EXTINT0-EXTINT2设置(比如上升沿,下降沿等)。
EINTPEND:这个是中断挂起寄存器,清除时要写1。当一个外部中断(EINT4-EINT23)发生后,那么相应的位会被置1。
EINTMASK:这个是屏蔽中断用的,尽管 EINTPEND你置位了,但是这个寄存器可以把你屏蔽掉。如果你没有被屏蔽,那么恭喜你闯入下一关—— SRCPND。
对于EINT4-EINT23,他们比较幸运,根本不受EINTPEND和EINTMASK的控制,直接进入SRCPND关卡与其他中断源“PK”。
(2)内部中断
带子中断的内部中断有15个(见图表1),他们受控于寄存器SUBSRCPND和 INTSUBMSK,这两个寄存器的功能和上面的EINTPEND和EINTMASK类似,如果能闯过这两关,自然进入下一关—— SRCPND。
对于不带子中断的内部中断(一共20个),也算是种子选手了,不受上面2个寄存器的控制,直接进入SRCPND关卡与其他中断源“PK”。
2. SRCPND平台来PK,快中断耍大牌
好了,现在闯入SRCPND关卡的选手开始PK了。规则是什么呢?
SRCPND:来自四个参赛组的中断源,如果占据天时地利的话,会在这个寄存器占有一席之地。接下来,考察一下他们的中断模式。
INTMOD:一个中断可以是普通中断,也可以是快中断。需要在这里设置,但最多只能有一个快中断。
如果有幸被设置成唯一的快中断,那么你就坐上了中断服务的快车,享受最高优先级,系统优先响应你的需求,进入FIQ服务函数哦!如果没有,也不要灰心,还有机会。
3. 普通中断竞争激烈
INTMSK :中断屏蔽寄存器。在SRCPND中出现的普通中断,又要在这个平台筛选一下,如果没有被屏蔽,恭喜进入下一关哦。
PRIORITY:优先级寄存器。来到这一关的中断源会决一死战,只能有一个胜出。
4. 最后的胜利
上一轮胜出的选手也就是最后的赢家了,得到的奖赏就是 INTPND 寄存器的对应位置1,同时 INTOFFSET 寄存器保存对应的值(0-31)。当然,最大的实惠就是进入IRQ服务函数。
S3C2440 中断相关寄存器小探的更多相关文章
- s3c2440中断控制器操作
一.ARM中断体系结构 arm有7中异常工作模式 用户模式.快中断模式.管理模式.数据访问终止模式.中断模式.系统模式.未定义指令终止模式. 几种模式有什么不同呢, 1.不同的寄存器 2.不同的权限 ...
- DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析
DSP EPWM学习笔记2 - EPWM相关寄存器设置问题解析 彭会锋 本篇主要针对不太熟悉的TZ 故障捕获 和 DB 死区产生两个子模块进行学习研究 感觉TI的寄存器命名还是有一定规律可循的 SEL ...
- LGDT/LIDT-加载全局/中断描述符表寄存器
将源操作数中的值加载到全局描述符表寄存器 (GDTR) 或中断描述符表寄存器 (IDTR).源操作数指定 6 字节内存位置,它包含全局描述符表 (GDT) 或中断描述符表 (IDT) 的基址(线性地址 ...
- WinForms C#:html编辑器工程源码,含直接写WebBrowser的文件流、IPersistStreamInit接口的声明和一些相关的小方法
原文:WinForms C#:html编辑器工程源码,含直接写WebBrowser的文件流.IPersistStreamInit接口的声明和一些相关的小方法 首先多谢朋友们的捧场: 今天给大家带来一个 ...
- STM32 通用定时器相关寄存器
TIMx_CR1(控制寄存器1) 9-8位:CKD[1:0]时钟分频因子,定义在定时器时钟(CK_INT)频率与数字滤波器(ETR,TIx)使用的采样频率之间的分频比例. 定义:00(tDTS = t ...
- SD/MMC相关寄存器的介绍
1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示: 2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一.OCR,CI ...
- STC12C5A60S2 常用的中断源和相关寄存器
1) 中断源 STC12C5A60S2共有十个中断源,每个中断源可设置4类优先级:当相同优先级下各中断优先级由高到低依次如下: 1.1)INT0(外部中断0) 中断向量地址 0003H, C语言编程: ...
- S3C2440中断
韦东山老师一期中断课程学习: 总结: 程序启动后工作流程,程序从0地址开始执行Reset --> 重定位 -->ldr pc,=main [绝对跳转到SDRAM中执行main()函数] ...
- 朱晔和你聊Spring系列S1E5:Spring WebFlux小探
阅读PDF版本 本文会来做一些应用对比Spring MVC和Spring WebFlux,观察线程模型的区别,然后做一下简单的压力测试. 创建一个传统的Spring MVC应用 先来创建一个新的web ...
随机推荐
- 【C#】EF学习<一> CodeFist
[第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) 目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) http://www.cnblogs.com/ ...
- unity编辑器拓展
[ExecutelnEditMode] 在EditMode下也可以执行脚本,Unity默认情况下,脚本只有运行时被执行,加上此属性后,不运行程序也能执行.与PlayMode不同的是函数不会不停 ...
- 转:IDEA 与 eclipse 的部分区别!
Idea 与 Eclipse 快捷键的区别,上为Eclipse的快捷键,下为Idea的快捷键查找类名CTRL + SHIFT + RCTRL + N 查找JAR包中的类CTRL + SHIFT + T ...
- iOS工程师 - 简历
基本信息 姓 名:张学友 性 别:男 年 龄:28 学 历:本科 毕业学校:广西师范大学 专 业:通信工程 手 ...
- (字符转化)UTF-8和GBK有什么区别?
GBK包含全部中文字符:UTF-8则包含全世界所有国家需要用到的字符. GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字 ...
- 洛谷P2518 [HAOI2010]计数
题目描述 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数.比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1020,等等. ...
- CI框架源码学习笔记1——index.php
做php开发一年多了,陆陆续续用过tp/ci/yii框架,一直停留在只会使用的层面上,关于框架内部的结构实际上是不甚了解的.为了深入的学习,决定把CI框架的源码从头到尾的学习一下, 主要因为CI框架工 ...
- 使用Spring IOC容器引用外部属性文件
一.引用外部属性文件 1.编写属性文件,以键值对形式存储,并放置在类路径(src)下 jdbc.jdbcUrl=jdbc:mysql://localhost:3306/BOOKSTORE?rewrit ...
- 2019.2.25考试T1, 矩阵快速幂加速递推+单位根反演(容斥)
\(\color{#0066ff}{题解}\) 然后a,b,c通过矩阵加速即可 为什么1出现偶数次3没出现的贡献是上面画绿线的部分呢? 考虑暴力统计这部分贡献,答案为\(\begin{aligned} ...
- P4199 万径人踪灭 FFT + manacher
\(\color{#0066ff}{ 题目描述 }\) \(\color{#0066ff}{输入格式}\) 一行,一个只包含a,b两种字符的字符串 \(\color{#0066ff}{输出格式}\) ...