驱动中自动生成设备文件的方法
2012-02-11 12:19
344 查看
前几次在写驱动程序的时候,在生成 .ko文件后加载后,通过cat /proc/devices可以看到已经生成相应的设备,但是并没有生成相应的设备文件在,linux系统中,驱动程序就像普通的程序一样读写,所以必须要相应的设备文件,前几次是在/dev/目录下直接
mknod led c 253 0这样就生成了相应的设备文件,这篇文件,推荐一个在驱动程序中自动生成设备文件的方法。
首先:需要一个类,通常是指针形式的:struct class *this_class
什么时候生成设备文件呢,当然是在内核加载的那个入口程序里面了,在这里我们使用class_create(struct class,name);这个函数,然后
this_class = class_create(THIS_MODULE, DEVICE_NAME);到这里知道刚才那个指针变量的含义了,然后再创建一个设备,下面这个函数是在用户空间里面的。 device_create(this_class, NULL, MKDEV(252, 0), NULL, "hello_init");
表示创建成功了一个设备文件,主设备号252,次设备号是0的一个设备文件,在内核初始化的时候,被调用,并生成设备文件
·
这个是根据busybox生成的,busybox继承了udev并简化得到的mdev,根据设备信息自动生成设备文件,这样每次在启动系统的时候,会自动生成设备节点,另一种方法或许就是添加一个初始化脚本吧。
mknod led c 253 0这样就生成了相应的设备文件,这篇文件,推荐一个在驱动程序中自动生成设备文件的方法。
首先:需要一个类,通常是指针形式的:struct class *this_class
什么时候生成设备文件呢,当然是在内核加载的那个入口程序里面了,在这里我们使用class_create(struct class,name);这个函数,然后
this_class = class_create(THIS_MODULE, DEVICE_NAME);到这里知道刚才那个指针变量的含义了,然后再创建一个设备,下面这个函数是在用户空间里面的。 device_create(this_class, NULL, MKDEV(252, 0), NULL, "hello_init");
表示创建成功了一个设备文件,主设备号252,次设备号是0的一个设备文件,在内核初始化的时候,被调用,并生成设备文件
·
这个是根据busybox生成的,busybox继承了udev并简化得到的mdev,根据设备信息自动生成设备文件,这样每次在启动系统的时候,会自动生成设备节点,另一种方法或许就是添加一个初始化脚本吧。
相关文章推荐
- (6)2.4之前的字符驱动-用devfs_register自动生成设备文件(可能在2.6linux目录树下编译不了)
- 【实践】第一个驱动之自动生成主设备号和设备文件
- 编写驱动时加入自动生成设备文件功能
- 内核驱动模块如何在/dev文件下自动创建设备
- android驱动下生成设备节点的方法
- Linux 设备驱动 如何自动创建设备文件
- 高级字符设备驱动-自动创建设备文件笔记
- 最新版本OBS--moc文件自动生成的方法
- 哪些年遇到过的Andriod问题(9)R.java文件不能自动生成解决方法
- 实现core文件自动生成配置文件的方法
- 编写嵌入式linux驱动时,如何才能自动加载设备并生成节点
- 解决Eclipse项目有红感叹号的方法以及clean完没有自动生成R文件的方法
- Jfinal自动生成带setter和getter等常用方法的Model文件方案--注mysql数据库版
- Hibernate初探之一对多映射 及 myeclipse自动生成hibernate文件方法
- wince自动生成XIP映像文件的一种方法
- 导入android项目,无法自动生成R文件的解决方法(Unable to resolve target 'android-7')
- vs自动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法
- 实现core文件自动生成配置文件的方法
- 事件驱动自动生成静态页面模板解决方法(一)——利用静态类和FileSystemWatcher实现模板快速索引和读取
- Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml (main()方法自动生成更快捷)