易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 设备驱动编程

目 录
驱动

I/O端口

from smth

基本结构

驱动程序

具体实现


PCI

loopback

Sis 900

ISA总线DMA的实现


驱动
    Linux系统支持三种类型的硬件设备:字符设备、块设
< type="text/javascript">< type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
备和网络设备。字符设备是直接读取的,不必使用缓冲区。例如,系统的串行口/dev/cua0和/dev/cua1。块设备每次只能读取一定大小的块的倍
数,通常一块是512或者1024字节。块设备通过缓冲区读写,并且可以随机地读写。块设备可以通过它们的设备文件存取,但通常是通过文件系统存取。只有
块设备支持挂接的文件系统。网络设备是通过BSD套接字界面存取的。
    Linux系统支持多种设备,这些设备的驱动程序之间有一些共同的特点:
    * 内核代码:设备驱动程序是系统内核的一部分,所以如果驱动程序出现错误的话,将可能严重地破坏整个系统。
   
*
内核接口:设备驱动程序必须为系统内核或者它们的子系统提供一个标准的接口。例如,一个终端驱动程序必须为Linux内核提供一个文件I/O接口;一个
SCSI设备驱动程序应该为SCSI子系统提供一个SCSI设备接口,同时SCSI子系统也应为系统内核提供文件I/O和缓冲区。
    * 内核机制和服务:设备驱动程序利用一些标准的内核服务,例如内存分配等。
    * 可装入:大多数的Linux设备驱动程序都可以在需要时装入内核,在不需要时卸载。
    * 可设置:Linux系统设备驱动程序可以集成为系统内核的一部分,至于哪一部分需要集成到内核中,可以在系统编译时设置。
[目录]
I/O端口
  关键词:设备管理、驱动程序、I/O端口、资源
  申明:这份文档是按照自由软件开放源代码的精神发布的,任何人可以免费获得、使用和重新发布,但是你没有限制别人重新发布你发布内容的权利。发
布本文的目的是希望它能对读者有用,但没有任何担保,甚至没有适合特定目的的隐含的担保。更详细的情况请参阅GNU通用公共许可证(GPL),以及GNU
自由文档协议(GFDL)。
  几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和


相关文档:

Linux 下getch()和getche()

Linux下getch()和getche()
I would recommend never mixing input techniques in a program. Don't mix fgets() or scanf() with getchar(). Don't mix any standerd C library input function with a non-standard function that bypasses the C stream mechanism, be that getch(), getche(), bioskey(), or anything el ......

linux ps 命令 STAT域

STAT(该行程的状态)
D: 不可用信号中断的睡眠状态
R: 正在执行或处于执行队列中
S: 可以用信号中断的睡眠状态
T: 暂停执行 
Z: 僵死状态
------------------------------------
W: 没有足够的记忆体分页可分配 
<: 高优先序的行程 
N: 低优先序的行程&nbs ......

linux 基础复习(9)设备驱动入门转


Linux 内核中采用可加载的模块化设计(LKMs,Loadable Kernel
Modules),一般情况下编译的Linux
内核是支持可插入式模块的,也就是将最基本的核心代码编译在内核中,其他的代码可以选择在内核中,或者编译为内核的模块文件。常见的驱动程序也是作为内核
模块动态加载的。
模块相关命令
lsmod 列出当前系统加载的 ......

mknod利用udev、sys动态创建linux设备结点(转载)


在Linux 2.6内核中,devfs被认为是过时的方法,并最终被抛弃,udev取代了它。Devfs的一个很重要的特点就是可以动态创建设备结点。那我们现在如何通过udev和sys文件系统动态创建设备结点呢?
用udev在/dev/下动态生成设备文件,这样用户就不用手工调用mknod了。
利用的kernel API:   
  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号