天天看点

驱动开发--【字符设备、块设备简介】【sky原创】

驱动开发

字符设备,块设备,网络设备

字符设备

以字节流的方式访问,

不能随机访问

有例外,显卡、EEPROM可以随机访问

EEPROM可以擦写1亿次,是一种字符设备,可以随机访问

读写是直接访问硬件的

flash 擦写次数有限,一百万次,容易有坏块

块设备

能随机访问

以”块“为单位进行访问

块大小一般为512字节

块的大小由硬件决定

是内核进行数据传输的基本单位

硬盘结构:

格式化分区是以柱面为单位的,即硬盘的柱面

如果有10个盘面,就有十个柱面

对于嵌入式设备

如果是flash的话,结构如下:

flash是以块为单位

有些是页为单位,每页又有很多块

字符设备和块设备根本使用的接口不同,

即两种架构

块设备也可以用字符设备的驱动程序的架构来驱动,但是这样效率不高

字符设备一般可以直接访问硬件来读取数据

块设备一般要经过系统缓存来读取数据

比如说以前的老u盘刚传完电影,直接拔下后可能读不出来这个电影,或者运行有问题,这是因为写入的时候是先写在缓存,再异步写入硬件的

linux万物皆文件有例外,网络设备在linux中不体现为文件

操作方式是以socket套接字的方式进行访问

网络设备接收外部世界(本系统之外)的请求

驱动程序的安装方法:

1、直接编译内核

2、需要的时候手动安装

新浪博客:http://blog.sina.com.cn/u/2049150530

博客园:http://www.cnblogs.com/sky-heaven/

知乎:http://www.zhihu.com/people/zhang-bing-hua

【作者】sky

【出处】http://www.cnblogs.com/sky-heaven/

【博客园】 http://www.cnblogs.com/sky-heaven/

【知乎】 http://www.zhihu.com/people/zhang-bing-hua

【我的作品---旋转倒立摆】 http://v.youku.com/v_show/id_XODM5NDAzNjQw.html?spm=a2hzp.8253869.0.0&from=y1.7-2

【我的作品---自平衡自动循迹车】 http://v.youku.com/v_show/id_XODM5MzYyNTIw.html?spm=a2hzp.8253869.0.0&from=y1.7-2

【大饼教你学系列】https://edu.csdn.net/course/detail/10393

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.