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

转 Linux设备驱动程序之读书笔记

Linux设备驱动程序之读书笔记(一)
                   ——第三章字符设备驱动程序
○、说明
笔记适用于Linux的2.6.10以后的内核。
笔记以Linux Device Driver3提供的scull程序(scull目录中的main.c和scull.h)为记录主线,并以该驱动程序中的各种系统调用和函数调用流程为记录顺序。比如,module_init( )和module_exit( )为相对应的一对系统调用,一般书籍中都会放在一起讨论,但是本笔记却不会这样,而是在需要调用的时候才会涉及,因此module_init( )会放在笔记开始时,也就是刚加载module时讨论,而module_exit( )则会放在笔记结束前,也就是要卸载module时再加以讨论。
该笔记的的目的是为了对Linux Device Drvier3中提到的各个知识点作一下整理,理清一下头绪,从而能让我对Linux驱动程序加深整体或者全局上的理解。
注:个人理解,有误难免!—— 笔者:曹荣荣
*******************************************
驱动程序module的工作流程主要分为四个部分:
1、 用Linux提供的命令加载驱动module
2、 驱动module的初始化(初始化结束后即进入“潜伏”状态,直到有系统调用)
3、 当操作设备时,即有系统调用时,调用驱动module提供的各个服务函数
4、 卸载驱动module
一、 驱动程序的加载
Linux驱动程序分为两种形式:一种是直接编译进内核,另一种是编译成module形式,然后在需要该驱动module时手动加载。对于前者,还有待学习。
Module形式的驱动,Linux提供了两个命令用来加载:modprobe和insmod。
其中modprobe可以解决驱动module的依赖性,即假如正加载的驱动module若引用了其他module提供的内核符号或者其他资源,则modprobe就会自动加载那些module,不过,使用modprobe时,必须把要加载的驱动module放在当前模块搜索路径中。而insmod命令不会考虑驱动module的依赖性,但是它却可以加载任意目录下的驱动module。
一般来说,在驱动开发阶段,使用/sbin/insmod比较方便,因为不用将module放入当前module搜索路径中。
一旦使用insmod加载模块,则Linux内核就会调用module_init(scull_init_module)特殊宏,其中scull_init_module是驱动初始化函数,可自定义名称。
在用insmod加载module时,还可以给module提供模块参数,但是这需要在驱动源代码中加入几条语句,让模块


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

Linux Module编程小结

1. Makefile
使用Makefile来编译模块,不能直接使用gcc。
实际使用的是当前活动内核模块的Makefile来完成相关工作的。
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o calculate.o
else
        KDIR := /lib/modules/2.6.18-53.el5xen/build
all:
 &nbs ......

LINUX KERNEL VERSIONS SUPPORTED.

LINUX KERNEL VERSIONS SUPPORTED.
DOCUMENT DATE: May 10, 2010
This document lists the exact versions of Linux kernels supported by
DoubleVision Pro.
Due to subtle differences from one Linux kernel to another, a different
DoubleVision Pro driver is required. If your Linux kernel is not supported ......

linux下按章quake3

首先,请安装驱动,我的显卡是nvidia fx5600,源里面就有驱动,直接安装就是。
代码:
sudo apt-get install nvidia-glx nvidia-settings
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup
sudo nvidia-glx-config enable
然后
代码:
Ctrl + Alt + backspace
重启X
建议不要把nvidia的logo去掉,至少在第一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号