13字符设备驱动程序.ppt

字符设备的注册 早期方法: 内核中仍有许多字符驱动不使用刚刚描述过的cdev 接口。没有更新到 2.6 内核接口的老代码。 注册一个字符设备的早期方法: int register_chrdev(unsigned int major, const char *name, struct file_operations *fops); major 是给定的主设备号。为0代表什么? name 是驱动的名字(将出现在 /proc/devices), fops 是设备驱动的file_operations 结构。 register_chrdev 将给设备分配 0 - 255 的次设备号, 并且为每一个建立一个缺省的 cdev 结构。 从系统中卸载字符设备的函数: int unregister_chrdev(unsigned int major, const char *name); 字符设备驱动程序编写流程 实现底层操作函数 将这些底层操作函数结合到file_operations结构中; 在模块的入口函数 申请、注册设备号; 初始化cdev(要关联一个file_operations结构) 注册cdev; 在模块的出口函数 注销cdev; 注销设备号; 字符设备模块入口函数的执行流程: 字符设备驱动程序编写流程 字符设备模块出口函数的执行流程: 字符设备驱动程序编写流程 实例--(1)编写

文档评论(0)

1亿VIP精品文档

相关文档