第零章:扯扯淡 特此总结一下写的一个简单字符设备驱动程序的过程,我要强调一下“自顶向下”这个介绍方法,因为我觉得这样更容易让没有接触过设备驱动程序的童鞋更容易理解,“自顶向下”最初从《计算机网络 自顶向下方法》这本书学到的,我觉得有时候这是一种很好的方式。第一章:测试程序 咦?你怎么跟别人的思路.....
分类:
系统相关 时间:
2014-06-29 00:24:24
阅读次数:
691
原文:http://blog.csdn.net/zjjyliuweijie/article/details/7001383linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设 备是同类设备(使用同...
分类:
系统相关 时间:
2014-06-23 07:34:34
阅读次数:
270
块设备是指能随机访问固定大小数据片的设备,如硬盘;字符设备(如串口和键盘)是按照字符流的方式有序访问。区别在于是否可以随机访问数据——也就是能否在访问设备时随意地从一个位置跳转到另一个位置。我们可以感觉到块设备的控制要比字符设备复杂多,实际上内核在块设备上下了大工夫——块I/O层...
分类:
系统相关 时间:
2014-06-13 21:47:07
阅读次数:
369
裸机下控制LED灯非常方便,只需要配置好GPIO引脚功能,然后向GPIO引脚映射的内存地址处写入数据即可,但linux下驱动就不那么简单了,需要结合字符设备驱动的架构,然后将功能实现添加进去,笔者参考linux设备驱动程序(第三版)中介绍的新的接口来实现驱动。友善之臂官网提供的源码是基于miscde...
分类:
其他好文 时间:
2014-06-11 13:21:38
阅读次数:
408
Linux驱动:角色:应用程序 API 操作系统 驱动
实际硬件功能:1.对设备进行初始化和释放2.把数据从内核传送到硬件和从硬件读取数据3.检测和处理设备出现的错误Linux驱动程序类型:字符设备:由文件系统管理
(通过设备文件访问)块设备:由文件系统管理网络设备:由协议栈管理 (通过socke....
分类:
系统相关 时间:
2014-06-06 15:55:44
阅读次数:
451
已经无法再精简,适合入门。 1 #include 2 #include 3 4
#include 5 #include 6 #include 7 #include 8 struct mengc_dev{ 9 char data[64];10
struct cdev...
分类:
系统相关 时间:
2014-05-26 22:52:42
阅读次数:
371
前言:
在/dev目录下存放着许多设备文件,这些设备对应的有些是字符设备,有些是块设备,每个设备都有主设备号,和次设备号。
正文:
/dev/null这个设备文件相当于黑洞,所有重定位到这个设备文件的内容都会消失,这个文件主要要在不必要输出的规避
/dev/zero这个设备文件稍微要难理解一点,这个设备文件提供无限个\0的字符,一般用它来初始化一些文件。我...
分类:
其他好文 时间:
2014-05-25 16:27:38
阅读次数:
324
ls
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(o...
分类:
其他好文 时间:
2014-05-25 01:55:01
阅读次数:
262
红帽企业版Linux使用一个字符较大的数字(现在是162)去标明/dev/raw目录下一系列的裸设备。任何块设备都可以有一个裸设备做前端,即使这个块设备是在运行时加载的。为了创建裸设备,需要编辑/etc/sysconfig/rawdevices文件,将裸字符设备绑定到适当的块设备,使得裸设备可以被打...
分类:
其他好文 时间:
2014-05-23 11:23:23
阅读次数:
246