自动创建设备节点时遇到的BUG
来源:互联网 发布:网络信息发布软件 编辑:程序博客网 时间:2024/05/07 18:50
之前写的字符类设备驱动,没有自动创建设备节点,因为只使用了register_chrdev()函数,只是注册了这个设备。然后在系统启动后,就要自己创建设备节点mknod,这样虽然是可行的,但是比较麻烦。于是想在__init函数里面,自动创建设备节点。
经过查阅资料,发现创建设备节点使用了两个函数 class_create()和class_device_create(),当然在__exit()函数里,要使用class_destory()和class_device_desotry()注销创建的设备节点!
问题来了,编译了之后,发现报错error: implicit declaration of function 'class_device_create'等几个错误。经过分析,应该是Linux内核版本不同的原因!早期的版本,使用的是上面说的两个函数,但是在2.6.29以后(我用的是2.6.32的),使用的函数则变成了 class_create()和device_create(),并且要在声明中加入#include <linux/device.h> ,因为定义这些函数是在Linux2.6.32/include/linux/device.h里面!
经过这些修改后,驱动编译成功,就能够自动创建设备节点了
0 0
- 自动创建设备节点时遇到的BUG
- 设备节点的自动创建
- 自动创建设备节点
- 自动创建设备节点
- 自动创建设备节点
- 自动创建设备节点
- 自动创建设备节点
- linux字符设备驱动之设备节点的自动创建
- 自动创建设备文件节点
- 自动创建设备节点 device_create
- Linux自动创建设备节点
- 设备驱动-----自动创建节点
- 设备驱动--自动创建节点
- linux 自动创建设备节点
- 自动创建设备节点笔记
- linux自动创建设备节点
- 自动创建设备节点 device_create
- linux自动创建设备节点
- Android DataBinding库(MVVM设计模式)
- 区间覆盖与合并
- IT-DB-mongodb-mongodb详细监控
- iOS打包流程
- iOS--造成dealloc不调用的原因
- 自动创建设备节点时遇到的BUG
- Ehcache注脚核心逻辑源码学习
- TCP/IP的三次握手与四次挥手详解
- 位置相关(无关)码 浅谈
- iOS--jsPath热更新
- Jenkins定时构建和邮件发送
- Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
- 五年Android开发,让我“刻骨铭心”的那些坑(转载)
- permutation递归方法