《北京航空航天大学《嵌入式系统》课件_第7章_Linux驱动程序开发》.pptVIP

  • 4
  • 0
  • 约 44页
  • 2015-12-10 发布于河南
  • 举报

《北京航空航天大学《嵌入式系统》课件_第7章_Linux驱动程序开发》.ppt

《北京航空航天大学《嵌入式系统》课件_第7章_Linux驱动程序开发》.ppt

* * * register_chrdev(242, DEVICE_NAME, led_fops) unregister_chrdev(242, DEVICE_NAME); Use count:记录使用本模块的进程数或模块数。 MOD_INC_USE_COUNT:增加use count MOD_DEC_USE_COUNT:减少use count MOD_IN_USE:检查use count是否是0 驱动程序的实现-驱动程序框架 open 提供给驱动程序初始化设备的能力,为后续的操作做准备 此外一般会递增使用计数,防止文件关闭前模块被卸载 通常情况下,open完成如下工作: 递增使用计数 检查特定设备错误 如果设备是首次打开,则对其进行初始化 识别次设备号,如有必要,则修改f_op指针 分配并填写filp-private_data中的数据 release 与open正好相反 释放由open分配的filp-private_data中的数据 在最后一次关闭操作时关闭设备 使用计数减一 驱动程序的实现-驱动程序框架 read和write read将数据从内核拷贝到应用程序空间,write则将数据从应用程序空间拷贝到内核。 由于用户空间和内核空间的内存映射方式不同,所以在内核和用户空间传输数据的时候需要使用如下的函数 unsigned long copy_to_us

文档评论(0)

1亿VIP精品文档

相关文档