文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux字符驱动框架

Linux字符驱动框架

时间:2010-09-25  来源:linuxdevelop

1.字符设备模块和卸载函数      在Linux字符驱动模块加载函数中应该实现设备号的申请和cdev注册,在卸载函数中应该实现设备号的释放和cdev的注销.       工程师效习惯将一个设备定义为一个设备相关的结构体。            字符设备驱动模块加载和卸载函数模板框架 /*设备结构体  */ struct xxx_dev_t { struct cdev *cdev; ............... }xxx_dev;   /* 设备驱动模块加载函数 */ static int __init xxx_init(void) { .......................... cdev_init(&xxx_dev.cdev,&xxx_fops); xxx_dev.cdev.owner = THIS_MODULE; //获取字符设备号 if (xxx_major) { register_chrdev_region(xxx_dev_no,1,DEV_NAME); } else { alloc_chrdev_region(&xxx_dev_no,0,1,DEV_NAME); } ret = cdec_add(&xxx_dev.cdev,xxx_dev_no,1); ............. }   //设备驱动模块卸载函数 static void __exit xxx_exit(void) { /*释放设备号*/ unregister_chrdev_region(xxx_dev_no,1); /*注销设备*/ cdev_del(&xxx_dev.cdev); }   2.字符设备驱动文件操作结构体 struct file_operations xx_fops = { .owner = THIS_MODULE, .read = xxx_read, .write = xxx_write, .ioctl = xxx_ioctl, .......... }      
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载