Linux字符设备驱动作业——程序说明文档.docVIP

  • 3
  • 0
  • 约1.22千字
  • 约 7页
  • 2017-04-26 发布于湖北
  • 举报

Linux字符设备驱动作业——程序说明文档.doc

Linux字符设备驱动作业——程序说明文档

Linux字符设备驱动作业——程序说明文档 参考:OReilly - Linux Device Drivers, 2nd Edition(尤其是关于字符设备驱动scull那一章) 《操作系统原理*技术与编程》等 upperdrv.c程序分析: 设备的调用入口——file_operation函数: 定义了upper设备的读,写,控制,打开和释放对应的函数 字符设备的注册:向系统注册字符设备,对应着init_module 和 cleanup_module 2个函数,注意他们的名字是不能变的,否则系统将找不到这两个函数,造成注册失败。 3,字符设备的打开和关闭:不用中断,每次对字符设备做读写操作时,必先打开然后关闭设备。其实也很简单,只是两个宏,Linux内核需要跟踪系统中每个模块的使用信息的。这两个宏是可以检查使用驱动程序的用户数,以保护模块被意外卸载。 4,字符设备的写操作: 定义了usage 和 new_msg 作为标志,在用户已经输入一个字符串但还没有读出时,就不再允许再写入。接受数据指针unsigned char *data。 写入时,调用softdev设备接口softdev_send ,并且返回字符串的长度。 Copy_from_user(dst,usr,length)用于在用户空间和内核空间中指针的地址传址。 5,字符设备的读操作: 设置了2级字符指针unsigned

文档评论(0)

1亿VIP精品文档

相关文档