一,ioctl使用实例ioctl使用实例驱动程序.h文件 memdev.h[cpp]view plaincopy/*定义幻数*/#defineMEMDEV_IOC_MAGIC'k'/*定义命令*/#defineMEMDEV_IOCPRINT_IO(MEMDEV_IOC_MAGIC,1)#define...
分类:
系统相关 时间:
2015-01-20 21:58:51
阅读次数:
194
一,注册字符设备[cpp]view plaincopy#defineGLOBALMEM_MAJOR256#defineGLOBALMEM_SIZE0X1000//4kstaticintchar_major=GLOBALMEM_MAJOR;//主设备号structchartest_dev{struct...
分类:
系统相关 时间:
2015-01-20 21:53:32
阅读次数:
224
1、字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。 2、块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。 每一.....
分类:
其他好文 时间:
2015-01-07 21:55:37
阅读次数:
230
看到LDD3(linux device driver 3rd)第三章的时候,讲解了字符设备驱动的实现,自然就找到了源码来进行查看和编译,但是,官方的源码包含了第三章到第六章的内容,对于新手来说,可能就会觉得很苦恼,因为后面的知识都还不会,而且代码混合在一起也不利于本章知识的掌握,下面就记录一下我源码分离的过程,以及在ubuntu12.04(kernel version 3.2.0-23-generic)上面编译,加载,测试,卸载的过程。...
分类:
系统相关 时间:
2014-12-30 20:50:00
阅读次数:
243
#主要开发流程介绍 module_init宏和module_exit宏 当模块装载时需要调用module_init宏指定的函数,卸载时需要调用 module_exit宏指定的函数 以下是简单的init流程: - 初始化设备 - 初始化file_operation - 获取字...
分类:
其他好文 时间:
2014-12-03 21:37:37
阅读次数:
154
Linux应用层想要操作kernel层的API,比方想操作相关GPIO或寄存器,能够通过写一个字符设备驱动来实现。1、先在rootfs中的 /dev/ 下生成一个字符设备。注意主设备号 和 从设备号。可用例如以下shell脚本生成:if [ ! -e audioIN ];then sudo ...
分类:
系统相关 时间:
2014-11-02 22:17:24
阅读次数:
261
简介
tty设备的名称是从过去的电传打字机缩写而来,最初是指连接到Unix系统上的物理或虚拟终端Linux tty驱动程序的核心紧挨在标准字符设备驱动层之下,并提供了一系列的功能,作为接口被终端类型设备使用有三种类型的tty驱动程序:控制台、串口和pty/proc/tty/drivers当前注册并存在于内核的tty设备在/sys/class/tty下都有自己的子目录
小型TTY驱动程序...
分类:
系统相关 时间:
2014-10-12 16:56:58
阅读次数:
270
#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