Chinaunix首页 | 论坛 | 博客
  • 博客访问: 386723
  • 博文数量: 85
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1707
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-27 11:18
个人简介

学无止境……

文章分类

全部博文(85)

分类: LINUX

2013-08-29 15:30:24

注册字符设备可以使用register_chrdev函数


函数原型:

  1. int register_chrdev (unsigned int major, const char *name, struct file_operations*fops);


register_chrdev函数的major参数如果等于0,则表示采用系统动态分配的主设备号。

 

注销字符设备可以使用unregister_chrdev函数


函数原型:

  1. int unregister_chrdev(unsigned int major, const char *name);

(虽然unregister_chrdev返回值为int,但是我用它的返回值判断成功注销设备与否时,编译内核模块时会出错。不知道为什么!哪位大神知道的告诉我下。)


    字符设备模块使用insmod加载、rmmod卸载,加载完毕需要在/dev目录下使用mkmod命令建立相应的文件结点

     温馨提示:1. 在用register_chrdev()函数注册时,别把chrdev误拼成chardev。

                       2. 设置主设备号major,注意不要与系统现有设备冲突。不然在“insmod”时会出现以下警告:

                            insmod: error inserting 'chardev.ko': -1 Device or resource busy            

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