中断
别说郁闷
手机开发
展开
-
Linux中断处理体系结构分析(1)
异常,就是可以打断CPU正常运行流程的一些事情,比如外部中断、未定义指令、试图修改只读的数据、执行swi指令(Software Interrupt Instruction ,软件中断指令)等。当这些事情发生时,CPU暂停当前的程序,先处理异常事件,然后再继续执行被中断的程序。操作转载 2011-07-21 16:35:42 · 479 阅读 · 0 评论 -
开漏与开集
在时我们常常遇到开漏(opendrain)和开集(open collector)的概念。电路设计所谓开漏电路概念中提到的“漏”就是指MOS FET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOS FET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示: 组成开转载 2011-12-07 22:19:00 · 1409 阅读 · 0 评论 -
推挽输出与开漏输出的区别
推挽输出与开漏输出的区别 推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止. 要实现 线与 需要用OC(open collector)门电路.是转载 2011-12-07 22:22:48 · 796 阅读 · 0 评论 -
什么叫开漏输出
开漏输出:OC门的输出就是开漏输出;OD门的输出也是开漏输出。TTL电路有集电极开路OC门,MOS管也有和集电极对应的漏极开路的OD门,它的输出就叫做开漏输出。它可以吸收很大的电流,但是不能向外输出电流。所以,为了能输入和输出电流,它使用的时候要跟电源和上拉电阻一齐用。 OC门开漏输出和OD门开漏输出都是为了同一个目的,都是为了实现逻辑器件的线与逻辑,当然选用不同的外接电阻也可以实现外围转载 2011-12-07 22:24:25 · 3944 阅读 · 0 评论 -
抛弃中断bottom half,使用中断线程吧
在linux里,中断处理分为顶半(top half),底半(bottomhalf),在顶半里处理优先级比较高的事情,要求占用中断时间尽量的短,在处理完成后,就激活底半,有底半处理其余任务。底半的处理方式主要有soft_irq,tasklet,workqueue转载 2011-07-05 15:40:05 · 2898 阅读 · 1 评论 -
对中断的一点理解
1.中断分为:(1)同步中断和异步中断 (2)可屏蔽中断和不可屏蔽中断(NMI) (3)根据中断入口跳转方法的不同:向量中断:不同中断有不同的入口地址。由硬件提供中断服务程序入口地址。非向量中断原创 2011-07-21 20:00:31 · 1950 阅读 · 0 评论 -
Moving interrupts to threads
Moving interrupts to threads By Jake EdgeOctober 8, 2008http://lwn.net/Articles/302043/Processing interrupts from the hardware is转载 2011-07-21 19:37:24 · 731 阅读 · 0 评论 -
Linux中断处理体系结构分析(2)
1.中断处理的体系结构 我们知道编写设备驱动程序一定要用到中断处理函数,这在驱动程序的编写中,占据很重要的一部分。在响应一个特定的中断的时候,内核会执行一个函数,该函数叫做中断处理程序(interrupt handler)或中断服务例程(interrupt service转载 2011-07-21 16:37:44 · 641 阅读 · 0 评论 -
linux 驱动程序 tasklet 笔记
Tasklet机制是一种较为特殊的软中断。Tasklet一词的原意是“小片任务”的意思,这里是指一小段可执行的代码,且通常以函数的形式出现。软中断向量HI_SOFTIRQ和TASKLET_SOFTIRQ均是用tasklet机制来实现的。从某种程度上讲,tasklet机制是Linu转载 2011-07-07 09:48:50 · 719 阅读 · 0 评论 -
Kernel硬件中断的初始化流程
Kernel硬件中断的初始化流程 Kernel硬件中断的初始化流程 Porting kernel到一个全新的开发板时,通常hardware irq的初始化函数是要我们自己实现的。那我们实现了自己硬件的中断初始化函数之后,内核是如何调用到它的呢?内核有自己的一套支持多平台的架构。下面我们分析内核中断初始化的过程以及如何调用到一个新平台的irq初始化函数。这里我们以s3c2410平台为例,他的中断初转载 2011-06-16 15:50:00 · 594 阅读 · 0 评论 -
中断注册方法
中断注册方法在驱动程序中,要想使设备能够产生中断,则首先需要调用request_irq()来分配中断线。在通过request_irq()函数注册中断服务程序的时候,将会把设备中断处理程序添加进系统,以在中断发生的时候调用相应的中断处理程序。我们来看一下request_irq()函数的定义:-------------------------------------------------------转载 2011-06-21 15:05:00 · 2818 阅读 · 0 评论 -
Request_irq和setup_irq的区别
Author: DongasData: 08-07-19 Linux 内核提供了两个注册中断处理函数的接口:setup_irq和request_irq。这两个函数都定义在kernel/irq/manage.c里。 /* * Internal function to register an irqaction - typically used to * allocate special inter转载 2011-06-16 16:00:00 · 508 阅读 · 0 评论 -
可延迟函数、内核微线程以及工作队列
本文研究多个用于在内核环境当中延迟处理的方法(特别是在 Linux 内核版本 2.6.27.14 当中)。 尽管这些方法针对 Linux 内核,但方法背后的理念, 对于系统架构研究具有更广泛的意义。例如, 可以将这些理念应用到传统的嵌入式系统当中,取代原有的调度程序来进行任务调度 。在开始研究用于内核中的可延转载 2011-06-30 16:46:00 · 1266 阅读 · 0 评论 -
Linux 中断学习之前言篇 中断之原理篇 一.中断的基本知识
一.中断的基本知识1.中断的概念:所谓中断,是指CPU在正常运行程序时,由于程序的预先安排或内外部事件,引起CPU中断正在运行的程序,而转到发生中断事件程序中。这些引起程序中断的事件称为中断源。其实从物理学的角度看,中断是一种电信号,由硬件设备产生,并直接送入转载 2011-07-04 16:41:36 · 689 阅读 · 0 评论 -
Linux 中断学习之小试牛刀篇
前言 在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程 一.内核中断程序 : 我们还是来看一看成程序: 在看程序之前,要熟悉如何进行模块编程,和了解module_pararm()的用法。如果不熟悉转载 2011-07-04 16:45:35 · 916 阅读 · 0 评论 -
Linux子系统之中断机制研究
本文为速成教材,非精细研究,适合想了解linux中断机制,和从事linux驱动开发或者调式IRQ相关的驱动的工程师使用。该文章也没经过osboy的review过,属于一遍速成之回忆录,所以会存在问题,请跟帖指出,我会一一回复,并整理出最终版本。注意转贴的时候你可以不加上作者的名字转载 2011-07-18 20:42:53 · 1764 阅读 · 2 评论 -
开漏与推挽
具有开漏(OD)输出的器件是指内部输出和地之间有个N沟道的MOSFET(Q1),这些器件可以用于电平转换的应用。输出电压由Vcc'决定。Vcc'可以大于输入高电平电压VCC(up-translate)也可以低于输入高电平电压VCC(down-translate)。开漏器件对于各种电压节点间的电平转换非常有用。但是,这种电平转换的方法存在一些缺点。例如,当输出电平为低时,N沟道三极管是导通的转载 2011-12-07 22:20:57 · 672 阅读 · 0 评论