+ -
当前位置:首页 → 问答吧 → 到底设备文件是什么

到底设备文件是什么

时间:2011-11-01

来源:互联网

最近在看ioctl,对设备文件很疑惑,就是
真实的硬件设备和/dev/下的设备是怎样的关系
比如我们对硬件的读写一般就是通过iic,读写寄存器,
而对/dev下的设备文件read或write就不是对真实的硬件寄存器读或写 
驱动为何创建这样的设备文件,有时一个硬件还创建多个设备文件,如config control什么的。
看了ldd中的例子scull,就是对内存操作,但这个例子是没有真实硬件设备对应的,并没介绍和
真实硬件关系9也许是我没有看到0,请大侠解惑

作者: zhangchiytu   发布时间: 2011-11-01

ioctl一般是字符设备操作。你就理解为那是一个文件,用户空间和内核空间都可以读,写,就可以了。这个名字是很迷惑人,哈哈。关键是理解它的模型。

作者: jiahehao   发布时间: 2011-11-02

引用 1 楼 jiahehao 的回复:

ioctl一般是字符设备操作。你就理解为那是一个文件,用户空间和内核空间都可以读,写,就可以了。这个名字是很迷惑人,哈哈。关键是理解它的模型。

这个我知道的,包括write read其实最根本的目的就是实现用户空间和内核空间的交流。

不清楚的是/dev下的 字符设备文件和对应的真实的硬件有什么关系?
如果read或write这个/dev文件,应该不是对相应的硬件寄存器操作吧?

作者: zhangchiytu   发布时间: 2011-11-02

设备文件就是与设备通信的接口,通过设备文件中的主次设备号以及其他信息可以找到对应的设备,然后可以进行具体的操作!

作者: songjinshi   发布时间: 2011-11-02