![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
文章平均质量分 80
Fighting
这个作者很懒,什么都没留下…
展开
-
Linux设备驱动编程之中断处理
与Linux设备驱动中中断处理相关的首先是申请与释放IRQ的API request_irq()和free_irq(),request_irq()的原型为:int request_irq(unsigned int irq,void (*handler)(in转载 2011-10-18 23:55:29 · 203 阅读 · 0 评论 -
Linux下的IO端口和IO内存
CPU对外设端口物理地址的编址方式有两种:一种是IO映射方式,另一种是内存映射方式。 Linux将基于IO映射方式的和内存映射方式的IO端口统称为IO区域(IO region)。 IO region仍然是一种IO资源,因此它仍然可以用resource结构类型来描述。 Linux管理IO region: 1) request_region() 把一转载 2011-10-21 21:27:49 · 487 阅读 · 0 评论 -
内核模块编程之进阶(三)-编写带参数的中断模块
在此,我们将编写一个模块,其中有一个中断函数,当内核接收到某个 IRQ 上的一个中断时会调用它。#include linux/init.h>#include linux/module.h>#include linux/interrupt.h>#include linux/irq.h>static int irq;static char *inte转载 2011-10-21 21:18:22 · 574 阅读 · 0 评论 -
Linux设备驱动--第六章 ioctl接口
首先,我们先看看什么叫ioctl接口。从字面上看,可以说成是一种用户对设备进行控制的接口,比如说,《ldd》里说到---- -------------------------------------------------------------------------------- 大部分驱动需要 -- 除了读写设备的能力 -- 通过设备驱动进行各种硬件控制的能力. 大部分设备可转载 2011-10-21 21:37:37 · 701 阅读 · 0 评论 -
内核总结之中断机制
5,中断和异常 中断,一般是外部事件引起,异步 异常,一般由软件产生,同步,如int n 陷阱,一般由软件产生,异步,如除0 通过中断门进入中断服务程序时,cpu会自动将中断关闭,也就是将EFLAGS中IF标志清0,防止嵌套中断的发生。而通过陷阱门进入中断服务程序时则IF不变。 do_IRQ() do_IRQ之前 gcc预编译生成公用中断请求的服务程序,把中断号入栈,调转载 2011-10-21 21:27:04 · 358 阅读 · 0 评论 -
在linux内核驱动树中添加自己的驱动
在linux内核驱动树中添加自己的驱动 例如在linux-2.6.x.x/drivers/char中添加驱动目录lzp_iic 1、在linux-2.6.x.x/drivers/char目录下添加lzp_iic目录,并在lzp_iic目录添加Kconfig和Makefile /*******************Kconfig 内容********************转载 2011-10-21 21:17:38 · 474 阅读 · 0 评论 -
Linux中断解析
Linux中断解析摘要:本章将向读者依次解释中断概念,解析Linux中的中断实现机理以及Linux下中断如何被使用。作为实例我们第一将向《i386体系结构》一章中打造的系统加入一个时钟中断;第二将为大家注解RTC中断,希望通过这两个实例可以帮助读者掌握中断相关的概念、实现和编程方法。中断是什么中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、转载 2011-10-21 21:42:09 · 731 阅读 · 0 评论 -
Linux字符设备驱动程序之并发控制
1.字符设备与块设备Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得设备操作犹如文件一般。在应用程序看来,硬件设备就是一个普通的文件,应用程序可以像操作普通文件一样操作设备文件。设备可分为字符设备与块设备,字符设备是按照字符流顺序访问,如键转载 2011-10-18 00:13:37 · 764 阅读 · 0 评论 -
Linux设备驱动之网络设备驱动
1.概述Linux系统多用于服务器上,Linux非常牢固的支持网络。在Linux,网络分为两个层,分别是网络堆栈协议支持层,以及接收和发送网络协议的设备驱动程序层。网络堆栈是硬件中独立出来的部分,主要用来支持TCP/IP等多种协议,而网络设备驱动层是连接网络堆栈协议层和网络硬转载 2011-10-18 00:12:59 · 393 阅读 · 0 评论 -
深入浅出 Linux设备驱动中断处理介绍
与Linux设备驱动中中断处理相关的首先是申请与释放IRQ的API: request_irq()和free_irq()。 request_irq()的原型为:双击代码全选12345转载 2011-10-18 23:54:00 · 245 阅读 · 0 评论 -
内核设备驱动知识
○、说明笔记适用于Linux的2.6.10以后的内核。笔记以LinuxDeviceDriver3提供的scull程序(scull目录中的main.c和scull.h)为记录主线,并以该驱动程序中的各种系统调用和函数调用流程为记录顺序。比如,module_ini转载 2011-10-18 23:36:50 · 382 阅读 · 0 评论 -
Linux设备驱动之内存映射
1. 内存映射所谓的内存映射就是把物理内存映射到进程的地址空间之内,这些应用程序就可以直接使用输入输出的地址空间,从而提高读写的效率。Linux提供了mmap()函数,用来映射物理内存。在驱动程序中,应用程序以设备文件为对象,调用mmap()函数,内核进行内存映射的准备工转载 2011-10-18 00:14:17 · 533 阅读 · 0 评论 -
自旋锁
自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,不需要自旋锁)。 自旋锁最多只能被一个内核任务持有,如果一个内核任务试图请求一个已被争用(已经被持有)的自旋锁,那么这个任务就会一直进行忙循环——旋转——等待锁重新可用。要是锁未被争用,请求它的内核任务便能立刻得到它并且继续进行。自旋锁可以在任何时转载 2011-10-21 21:56:23 · 200 阅读 · 0 评论