13字符设备驱动程序讲解.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符设备驱动程序设计;教学回顾;教学内容 ;教学要求 ;Linux设备驱动概述;Linux设备驱动概述;Linux设备驱动概述;Linux设备驱动概述;Linux设备驱动概述;Linux设备驱动概述;Linux设备驱动概述;设备号;设备号 在内核驱动程序中,使用dev_t类型用于保存设备号。 dev_t是无符号32位整型; 高12位表示主设备号; 低20位是次设备号; 在驱动程序中,常常要通过设备号获取主、次设备号: MAJOR(dev_t dev); //获取主设备号 MINOR(dev_t dev); //获取次设备号 通过主、次设备号合成设备号: MKDEV(int major, int minor); dev_t类型以后可能会发生变化,但只要使用这些宏,就可保证设备驱动程序的正确性。 ;分配和释放字符设备号 编写驱动程序要做的第一件事,为字符设备获取一个设备号。 如果事先知道所需要的设备号(主设备号)的情况,可以使用以下函数,向内核申请已知的设备号: int register_chrdev_region(dev_t first, unsigned count, const char *name); first是要分配的起始设备号值。 count 所请求的连续设备编号的个数。 name设备名称,指和该编号范围建立关系的设备。 分配成功返回0,失败返回负数。;分配和释放字符设备号 可以让内核动态分配设备号(主要是主设备号);使用下面的函数来动态申请设备号; int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name); dev 是一个仅用于输出的参数, 它在函数成功完成时保存已分配范围的第一个编号。 baseminor 应当是请求的第一个要用的次设备号,它常常是 0. count 和 name 参数跟request_chrdev_region 的一样. ;设备号;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;一些重要的数据结构;字符设备的注册;字符设备的注册;字符设备的注册;字符设备的注册;字符设备驱动程序编写流程;字符设备模块入口函数的执行流程: ;字符设备模块出口函数的执行流程:;;实例--(2)创建file_operations变量,将底层操作函数集合到该结构中;;实例--(3)模块初始化??数;;;编译模块; 在ARM板上插入模块 # insmod first_drv.ko 插入模块之后,可以通过文件/proc/devices 查看设备信息 # cat /proc/devices 找到 first_drv的主设备号是249,如下图 ;建立设备文件 # mknod /dev/first_drv c 249 0 建立好设备文件之后,应用程序就可以通过设备文件来访问驱动程序了。 应用测试程序如图:;在开发板上执行测试程序的效果如下:;课堂小结;预习内容

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档