字符设备的初始化之我见:

字符设备的初始化之我见:
1.首先申请主设备号,申请好之后这说明这个系统支持刚才申请的设备了。比如申请的主设备号为M
2.实现XXXX_read,xxxx_write.....函数
3.填充file_operations结构体
{
.owner=THIS_MODULE,//逗号
.read=XXXX_read,
.....
};


填充完毕了,这说明用户空间使用read等函数打开主设备号为M的文件的时候,调用XXXX_read........
4.使用cdev_init函数将设备的cdev与file_operations联系在一起。
5.使用cdev_add函数添加一个cdev。
6.模块卸载函数,要删除cdev,使用cdev_del函数删除
7.回收主设备号:unregister_chrdev_region函数回收。

猜你喜欢

转载自blog.csdn.net/snikeguo/article/details/28434159