Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240312
  • 博文数量: 22
  • 博客积分: 592
  • 博客等级: 中士
  • 技术积分: 344
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-22 14:49
文章分类

全部博文(22)

文章存档

2013年(2)

2012年(6)

2011年(14)

我的朋友

分类: LINUX

2011-05-15 18:09:20

    前几天看LDD3时对register_chrdev_regison中的name 一直存有疑惑,它与设备文件之间有什么关系?讲述如下
    1.在编写的模块程序中将设备号申请函数中的name设定为“B”,也就是register_chrdev_regison中的name设定为“B”

    2.设定编写好的模块名为A.ko,并insmod A.ko

    3.此时当lsmod(与cat /proc/modules一致)显示出来的便是“A”

    4.cat /proc/devices出来的是“B”   其后跟了一个设备号,假设250

    5.手动创建设备文件比如 :mknod  /dev/name_you_want c 250 0(mknod用法自己百度吧)

    6.在/dev目录下就会生成name_you_want的文件,这个名字是你任意取的,但为了给上层提供一个易于理解的接口,还是要遵守相应的规则为好,最重要的是主设备号,它是用来关联设备文件与驱动程序的唯一纽带,必须与/proc/devices目录下一致,这就是为什么我们用alloc_chrdev_region无法预先创建设备节点(文件)的原因了。




阅读(3591) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

cqqjliyuan2011-05-24 11:16:25