S5PV210-裸机中断
1. 结构框图
这里我以外部中断为例画出了中断响应的过程。
- 当外部中断得到响应,会由硬件自动转到异常向量表,执行对应的异常处理程序。在这里指的就是IRQ的处理程序。
- 在异常处理程序IRQ_handle中将会执行现场的保护与恢复,以及最重要的中断处理函数(注意,这里就来到了中断处理部分,而不是异常处理了,相当于是一个两级的机制)。
- 在中断处理程序irq_handler中(代码如下),将会通过判断中断标志位来找到外部中断到底来自于VIC0/VIC1/VIC2/VIC3。(S5PV210支持多达93个中断,所以有四个中断控制器来控制。)找到之后,调用对应外部中断的处理函数(即VICnADDR指向的函数)。
void irq_handler(void)
{unsigned long vicaddr[4] = {VIC0ADDR,VIC1ADDR,VIC2ADDR,VIC3ADDR};int i=0;void (*isr)(void) = NULL;for(i=0; i<4; i++){// 发生一个中断时,4个VIC中有3个是全0,1个的其中一位不是0if(intc_getvicirqstatus(i) != 0){isr = (void (*)(void)) vicaddr[i];break;}}(*isr)(); // 通过函数指针来调用函数
}
2. 详细讲述如何找到外部中断对应的处理函数
在上面我们提到,S5PV210支持多达93个中断,而在S3C2440中也支持几十个中断,但是两者的处理方式是截然不同的。
- 在S3C2440中,同样也有类似于上图中“外部中断向量表1”这样的表格,但是当一个外部中断发生后,需要通过轮询的方式查找中断标志位得到正确的外部中断编号,然后调用对应的中断处理子函数。这样处理器的响应时间变长,无法适应高实时性要求。
- S5PV210则用硬件更好地解决了问题,以上面的外部中断向量表1为例,如果是其中的中断源发生了中断,那么相应的中断处理函数将会自动复制到VIC0ADDR寄存器当中,不需要人工轮询,只需要将中断处理函数写到“外部中断向量表1”的对应位置处即可,,当然了因为S5PV210有四个VIC,所以还是要轮询四次。
3. 其他
其他诸如中断使能、中断模式(IRQ/FIQ)的选择、中断引脚的相关配置(GPIO设成外部中断、触发方式、中断使能)、清挂起等不在此赘述。
S5PV210-裸机中断相关推荐
- 裸机篇 -- S5PV210的中断体系
本帖主要通过外部中断实验来学习S5PV210的中断体系. S5PV210的中断体系结构 在官方datasheet -- S5PV210_UM_REV1.1 中的sections 04_inte ...
- S5PV210裸机之串口
1:串口的基础知识 串口通信定义 串口是计算机上一种非常通用设备通信的协议.大多数计算机包含两个基于RS232的串口.串口同时也是仪器仪表设备通用的通信协议:很多GPIB兼容的设备也带有RS-232口 ...
- S5PV210 | 裸机汇编LED流水灯实验
S5PV210 | 裸机汇编LED流水灯实验 开发板: 1.原理图 上图中,当按下POWER键后,VDD_5V和VDD_IO会产生5V和3.3V的电压,其中D26无须GPIO控制,为常亮状态,即我们所 ...
- intrupt 6410裸机中断
我之前研究了6410的io口中断,想对着datasheet写出中断程序,但是发现,我虽然对着 datasheet可以知道他每个register的作用,但是它们之间的关联并不是很清楚,于是查了 不少的资 ...
- S5PV210裸机之外部中断
S5PV210中断体系介绍 一.什么是中断? (1)中断的发明是用来解决宏观上的并行需要的.宏观就是从整体上来看,并行就是多件事情都完成了. (2)微观上的并行,就是指的真正的并行,就是精确到每一 ...
- S5PV210裸机之Nandflash
NAND Flash 关于NAND Flash S5PV210的NAND Flash控制器有如下特点: 1) 支持512byte,2k,4k,8k的页大小 2) 通过各种软件模式来进行NAND Fla ...
- s5pv210的中断源
S5PV210中因为支持的中断源很多,所以直接设计了4个中断寄存器,每个32位,每位对应一个中断源. 理论上210最多支持128个中断,实际支持不足128个,有些位是空的. 210没有子中断寄存器,每 ...
- S5PV210裸机之LCD
LCD 简介 什么是 LCD ? (1) LCD ( Liquid Crystal Display )俗称液晶. (2)液晶是一种材料,液晶这种材料具有一种特点:可以在电信号的驱动下液晶分子进行旋转, ...
- S5PV210裸机之SD卡
主流的外存设备介绍 内存和外存的区别: 一般是把这种RAM(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存,把ROM(read only memory, ...
- S5PV210裸机之时钟
1.S5PV210的时钟获得:外部晶振+内部时钟发生器+内部PLL产生高频时钟+内部分频器分频 S5PV210外部有4个W晶振接口,可以根据需要来决定在哪里接晶振.接了晶振之后上电相应的模块就能产生振 ...
最新文章
- java 中的finally你知多少_Java 处理异常 9 个最佳实践,你知道几个?
- 这个牛逼技术你可千万别学!
- ffmpeg库编译加文字_ffmpeg第三方库编译记录
- 利用python快速搭建一个ftp文件服务器
- Dubbo启动时qos-server can not bind localhost:22222错误解决
- Unity联网游戏基础原理与字节数组
- 【IT笔试面试题整理】链表
- 常用计算机二级函数,计算机二级MS office常用函数
- Python基本操作(二)注释、分隔
- Specify 的含义 ------ 转载
- matlab编写算法,Matlab 入门宝典 编程算法大全
- 私服脚本制作教程......
- 有没有可以干一辈子的工作?
- Web项目【用户管理系统】完整版
- Android5更新包,Android 5.x OTA Update官方文档(四、OTA更新包解读)
- Unity数据持久化-Json
- Java多线程(学习分享)
- SQL执行顺序和流程
- Linux查主板槽位使用情况,linux下查看主板内存槽与内存信息
- Ubuntu系统安装微信(解决高分辨率屏幕问题及图标显示问题)