11 编写字符设备驱动.docxVIP

  • 9
  • 0
  • 约7.93千字
  • 约 13页
  • 2021-01-18 发布于安徽
  • 举报
实验11 编写字符设备驱动 1实验目的 通过编写字符设备驱动,理解linux下的设备驱动程序,学习相关设备驱动知识,加强对内核编程的理解。 2实验内容 编写字符设备驱动,实现open、write、read、icotl、release操作,并与前面的内核模块编程相结合,向系统中注册一个字符设备,并在用户态对驱动进行测试 3实验原理 3.1设备驱动相关知识 设备驱动程序在内核中的角色:他们是一个个独立的“黑盒子”,使某个特定的硬件响应一个定义良好的内部编程接口,这些接口完全隐藏了设备的工作细节。(驱动程序除了对外提供特定的接口外,任何实现细节对应用程序都是不可见的。)用户的操作通过一组标准化的调用执行,而这些调用独立于特定的驱动程序。驱动程序任务是把这些标准化调用映射到实际硬件的设备特有操作。 驱动程序就是应用程序与实际硬件之间的一个软件层,相同的硬件,不同的驱动程序可能提供不同的功能。实际的驱动程序设计要在许多要考虑的因素之间做出平衡。总的来说,驱动程序设计主要还是综合考虑下面三个方面的因素:提供给用户尽量多的选项、编写驱动程序要占用的时间以及尽量保持程序简单而不至于错误丛生。 其中linux的设备驱动程序的分类为:字符设备,块设备,网络设备。 3.2字符设备相关知识 字符设备是能够像字节流(类似文件)一样被访问的设备,有字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档