via:http://blog.chinaunix.net/uid-20672257-id-3142809.html1、写出open、write函数 2、告诉内核 1)、定义一个struct file_operations结构并填充好static struct file_operations fi....
分类:
其他好文 时间:
2015-05-11 12:37:08
阅读次数:
134
学习韦东山视频心得(二)1.字符设备驱动图2.6LCD驱动框架图2.7LCD硬件框架字符设备是Linux设备中最基本的设备驱动是其他大型驱动的基石。字符设备驱动模型,如下图2.8所示。Linux内核驱动模块一般由模块加载函数,模块卸载函数,模块许可申明等等组成。在字符设备驱动中在模块..
分类:
其他好文 时间:
2015-05-08 15:12:07
阅读次数:
156
看本文前,先看着篇文章,Linux字符设备驱动。 insmod,大体上所做的事,有这么一些: 1、打开待安装模块并将其读入到用户空间。所谓“模块”就是经过编译但未经连接的.o文件。 2、模块中必定有一些在模块内部无法落实的符号(函数名或变量名),对这些符号的引用必须连接到内核中的相应符号。为此目的,需要通过系统调用query_module向内核询问这些符号在内核中的地址。如果内核...
分类:
系统相关 时间:
2015-05-07 08:45:47
阅读次数:
163
20150501调试分析之 自制工具2015-05-1 Lover雪儿今天还是继续我们内核错误调试,今天是制作一个寄存器编辑器,可以自由的读写某些我们需要调试的寄存器.一.首先完成一个可自动创建设备节点的字符设备驱动程序这儿我们前面都写过了N遍,此处不再赘述,直接附上代码: 1 /*********...
分类:
其他好文 时间:
2015-05-01 10:32:41
阅读次数:
325
*********如何写分层驱动(复杂的字符驱动)----以lcd驱动为例**************
思路:复杂的驱动都是建立在简单的驱动的基础上,所以首先要知道内核简单字符设备驱动如何写
1.如何简单驱动程序
1.1 构造file_operations
.open = drv_open
.read = drv_read
1.2 告诉内核有1.1这个结构,register_chrde...
分类:
其他好文 时间:
2015-04-29 19:50:55
阅读次数:
101
1、MakefileKDIR=/home/xxx/s-linux-3.0.35PWD:=$(shell pwd)# kernel modulesobj-m := globalmem.omodules: make -C $(KDIR) M=$(PWD) modulesclean: rm -...
分类:
系统相关 时间:
2015-04-28 18:05:24
阅读次数:
228
看 linux 设备驱动开发详解时,字符设备驱动一章,注册globalmem驱动时,出现如下错误:# insmod globalmem.koinsmod: can't insert 'globalmem.ko': Device or resource busy原因:模块使用的是静态分配设备号的方式,...
分类:
系统相关 时间:
2015-04-28 17:59:44
阅读次数:
683
驱动LED灯
首先加入头文件#include
#include
#include
#include
#include
#include
#include
#include <asm/io....
分类:
其他好文 时间:
2015-04-22 09:40:18
阅读次数:
259
1 ioctl介绍:
用户空间ioctl :int ioctl(int fd,unsinged long cmd,...)
fd-文件描述符
cmd-对设备的发出的控制命令
...表示这是一个可选的参数,存在与否依赖于cmd,如cmd为修改波特率,那么....就表示波特率的值。如果cmd表示关闭,则不需要参数
成功返回0,错误返回-1。
内核空间:我用的是...
分类:
其他好文 时间:
2015-04-21 16:12:10
阅读次数:
206
Linux操作系统将所有的设备都看成文件,以操作文件的方式访问设备,应用程序不能直接操作硬件,而是使用统一的接口函数调用硬件驱动程序。这组接口被称为系统调用。如open,read.对于每一个系统调用,驱动程序中都有一个与之对应的函数,对于字符设备驱动程序,这些函数调用都集合在一个file_operation类型的数据结构中。当应用程序使用open函数打开某个设备时,设备驱动程序的file_opera...
分类:
其他好文 时间:
2015-04-21 09:48:30
阅读次数:
162