Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255352
  • 博文数量: 37
  • 博客积分: 480
  • 博客等级: 下士
  • 技术积分: 443
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-13 12:36
文章分类
文章存档

2013年(8)

2012年(29)

分类: LINUX

2012-07-26 11:48:54

/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为参数。
/dev/*.* 是通过mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用户通过此设备名来访问你的驱动。

 

 

设备文件 ,设备编号  #ll  -a /dev  在每一行都可以看到设备文件、设备编号(主、次)
对于每种硬件设备,系统内核有相应的设备驱动程序负责对它的处理。而在Unix中,使用设备文件的方式来表示硬件设备,每种设备驱动程序都被抽象 为设备文件的形式,这样就给应用程序一个一致的文件界面,方便应用程序和操作系统之间的通信。

习惯上,所有的设备文件都放置在/dev目录下。

/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为 参数。
/dev/*.* 是通过mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用户通过此设备名来访问你的驱动。

mknod - make block or character special files
mknod [OPTION]... NAME TYPE [MAJOR MINOR]
    option 有用的就是 -m 了
    name   自定义
    type   有 b 和 c 还有 p
    主设备号
    次设备号

设备文件创建还有其他方式,在alloc_chrdev_region后,class_create 创建class,在利用创建的class在调用device_create在/dev下创建设备文件
阅读(2068) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~