现在位置: 首页

linux设备驱动归纳总结(三):4.ioctl的实现

2015年03月08日 驱动开发  ⁄ 共 12136字 linux设备驱动归纳总结(三):4.ioctl的实现已关闭评论 ⁄ 阅读 1,791 次
在网上看到的,讲的不错,遂转载过来。原文地址:http://blog.chinaunix.net/uid-25014876-id-59419.html   一、ioctl的简介: 虽然在文件操作结构体"struct file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并不是所有的字符设备都需要的,所以文件操作结构体也不会有对应的函数操作。 出于这样的原因,ioctl就有它的用处了————...
阅读全文

linux设备驱动归纳总结(三):3面向对象思想和lseek

2015年03月07日 驱动开发  ⁄ 共 8327字 linux设备驱动归纳总结(三):3面向对象思想和lseek已关闭评论 ⁄ 阅读 1,526 次
在网上看到的,讲的不错,遂转载过来。原文地址:http://blog.chinaunix.net/uid-25014876-id-59418.html   一、结构体struct file和struct inode 在之前写的函数,全部是定义了一些零散的全局变量。有没有办法整合成到一个结构体当中?这样的话,看起来和用起来都比较方便。接下来就要说这方面的问题。 不过先要介绍一下除了fops以外的两个比较重要的结构体: 1)struct file 在内核中,file结构体是用来维护打开的文件的...
阅读全文

linux设备驱动归纳总结(三):2open.close.read.write

2015年03月06日 驱动开发  ⁄ 共 9283字 linux设备驱动归纳总结(三):2open.close.read.write已关闭评论 ⁄ 阅读 1,908 次
在网上看到的,讲的不错,遂转载过来。原文地址:http://blog.chinaunix.net/uid-25014876-id-59417.html   一、文件操作结构体file_operations 继续上次没讲完的问题,文件操作结构体到底是什么东西,为什么我注册了设备之后什么现象都没有?可以验证文件操作结构体的内容。 file_operations是一个函数指针的集合,用于存放我们定义的用于操作设备的函数的指针,如果我们不定义,它默认保留为NULL。 来个文件操作结构体的...
阅读全文

linux设备驱动归纳总结(三):1字符型设备之设备申请

2015年03月05日 驱动开发  ⁄ 共 11762字 linux设备驱动归纳总结(三):1字符型设备之设备申请已关闭评论 ⁄ 阅读 1,169 次
在网上看到的,讲的不错,遂转载过来。原文地址: http://blog.chinaunix.net/uid-25014876-id-59416.html   一、驱动的分类: 内核驱动大致分为三类: 1)字符设备:在今后的接触的大多数都是字符设备,我也只学过这个。 2)块设备 :与硬盘相关的设备。 3)网络设备:与网络相关的设备。 上面的三种设备,我也只是学习过字符设备,所以对后面的两种也没有太多的归纳。稍稍说一下字符设备与块设备之间的区别: 1)传输数据大...
阅读全文

linux设备驱动归纳总结(二):模块的相关基础概念

2015年03月04日 驱动开发  ⁄ 共 10585字 linux设备驱动归纳总结(二):模块的相关基础概念已关闭评论 ⁄ 阅读 1,280 次
在网上看到的,讲的不错,遂转载过来。原文地址:http://blog.chinaunix.net/uid-25014876-id-59415.html   一、初探linux内核模块 内核模块:内核本身是很庞大的一个结构,需要的组件很多。编译内核时,用户 可以把所有的代码编译进内核,但是这样会引起两个问题:一是内核过大;二是 当需要添加或者删除内核时,需要重新再编译内核。所以有了内核模块的概念。 模块并不编译到内核中,编译后存放在指定的目录,当需要使用...
阅读全文
×