#include #include #include #include #include #include #include #include #include #include #define DEVICE_NAME "leds" /* 加载模式后,执行”cat /proc/device...
分类:
其他好文 时间:
2014-10-08 15:43:25
阅读次数:
357
Scull的设计
主设备号和次设备号
设备编号的内部表达
分配和释放设备号
动态分配主设备号
一些重要的数据结构
三个file_operations,file,inode
文件操作
file结构
inode结构
read和write
unsigned long copy_to_user(void __user *to,const void *from,...
分类:
其他好文 时间:
2014-09-26 11:01:41
阅读次数:
187
主设备号和次设备号
那些名称被称为特殊文件、设备文件,或者简单称之为文件系统树的节点,它们通常位于/dev目录通常而言,主设备号标识设备对应的驱动程序一个主设备号对应一个驱动程序设备编号的内部表达
dev_t()dev_t是一个32位的数,12位表示主设备号,其余20位表示次设备号
MAJOR(dev_t dev);MINOR(dev_t dev);MKDEV(int major...
分类:
系统相关 时间:
2014-09-23 23:48:05
阅读次数:
356
1、串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/....
分类:
其他好文 时间:
2014-09-22 12:47:12
阅读次数:
192
嵌入式Linux/Android驱动开发揭秘(1)触摸屏驱动开发
专题简介:自1971年,美国人SamHurst发明了世界上第一个触摸传感器以来,触摸屏技术不断革新,给了程序设计师和UI工程师无限的想象空间,它极大改善了终端用户对各种设备的操作方便程度,现在我们的日常生活如手机、平板等,已经很大程度上依赖于和习惯于使用和操作触摸屏。做为工程师,我们很有必要掌握触摸屏的工作原理和软件驱动方...
分类:
移动开发 时间:
2014-09-19 10:09:35
阅读次数:
159
0.前言 研究生生活一切都在步入正轨,我也开始了新的学习,因为实在不想搞存储,所以就决定跟师兄学习设备驱动,看了两星期书,终于有点头绪了,开始记录吧!1.准备工作 a)查看内核版本 uname -r b)安装内核源码树(http://www.cnblogs.com/Jezze/archi...
分类:
系统相关 时间:
2014-09-16 23:28:01
阅读次数:
369
1、根文件系统 /boot:系统启动相关的文件,如内核、initrd,以及grub(bootloader) /dev:设备文件(块设备/字符设备) 设备文件: 块设备:随机访问,数据块 字符设备:线性访问,按字符为单位 设备号:主设备号(major)和次设备号...
分类:
其他好文 时间:
2014-09-13 11:56:05
阅读次数:
238
第五章输入/输出IO设备大致可以分为两类:块设备、字符设备,块设备把地址存储在固定大小的块中,每个块有自己的地址,字符设备以字符为单位发送或接收一个字符流,而不考虑任何块结构。控制器的任务是把串行的位流转为字节块,并进行必要的错误校正工作。字节块通常首先在控制..
分类:
其他好文 时间:
2014-09-13 10:45:05
阅读次数:
264
linux操作系统中,文件是最基本和最重要的抽象,linux遵循一切皆文件的理念。按照不同的属性,文件可以分为普通文件和特殊文件。特殊文件是以文件方式表示的内核对象,linux支持四种类型的特殊文件: 1、块设备文件 (例如硬盘设备) 2、字符设备文件(例如键盘设备) 3、命名管道 (主要...
分类:
编程语言 时间:
2014-09-11 22:08:52
阅读次数:
301
从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。提醒一点,udev是应用层的,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设...
分类:
其他好文 时间:
2014-09-09 18:08:19
阅读次数:
203