s5pc100camera驱动分析.pdf

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
s5pc100camera驱动分析

刘海涛 2013-1-10 S5pc100_camera 驱动分析 一、与Vedio for linux 2 衔接 在分析这个驱动的时候,我们的主线是根据video for linux 2 架构的文件处理集合来分析。 V4l2_file_operations 的名字和字符设备中的file_opertaions 是类似,他们的功能也很类似。 1、Mmap 函数 Mmap 函数是v4l2_file_operations 结构的一个成员,这个函数对应于应用层的mmap 函数。 用户程序通过调用系统调用mmap 来实现映射设备内存到用户空间中,(在当前的进程中), 是一个虚拟地址。关于mmap 函数的API 在linux 下可以看man 手册。同时对应官方的API , 侧重于驱动。网址:/downloads/v4l-dvb-apis/func-mmap.html #include unistd.h #include sys/mman.h void *mmap ( void *start, size_t length, int prot , intflags , intfd , off_t offset); 具体的可以去上面的网站去查询各个参数的详细的意义。 2 在mmap 这个函数的官方网站API 中可以得到,必须判断prot 必须声明为可读和可写。 上面的主要的调用就是 io_remap_pfn_range()这个函数,通过跟踪这个函数在内核中的调用 连,这个函数最终调用了内核内存管理模块中一个 remap_pfn_range()这个函数的作用就是 映射内核内存到用户空间。这个函数在(mm/memory.c)中定义。 2、open、close 函数 当然了,最主要的初始化还是要在proe 匹配函数中来完成的。Clsoe 函数就是做相反的操作。 3、ioctl 函数 Ioctl 函数是video for linux 2 中最主要的函数,基本所有的功能都在这里。 3 这个函数的功能: 1、取得设备描述信息。这个描述集合是我们自己定义的。 2、加锁,实现互斥 3、根据上层传递的命令来调用不同的处理函数。 4 、解锁。 S5pc100_ioctl_v4l2()看它的名字,带一个v4l2 ,这就可以说明了这个函数的处理和v4l2 是相 关的。到底有什么关系,我们来分析一下这个函数。 这个函数是switch case 结构的一个典型的处理函数。接下来我们就跟着s5pc100_ioctl_v4l2 来分析每一个处理函数。 4 3.1 VIDIOC_QUERYCAP API: /downloads/v4l-dvb-apis/vidioc-querycap.html 先看一下这个函数的API ,看看应用层是如何调用的,是用来干什么的,这样我们才能知道 在驱动中我们该做些什么,该实现什么功能。 int ioctl(intfd , int request, struct v4l2_capability *argp); 功能:查询设备的性能。 描述:这个函数用来确定设备具有什么功能,比如是否有视频输出功能。就是了解驱动和硬 件的相关信息。 这个函数上层处理函数都回调用。相关的参数详细的介绍请看官网的详细信息。网址在上面。 下面是在s5pc100_camera.c 驱动中的关于这个函数的实现。 这个函数的功能就是填充描述设备性能的结构体。Struct v4l2_capability 。 Driver :驱动的名称 driver Card:设备的名称 device Bus_info: device 在系统中的位置。 Version :驱动的版本号 Capabilities:设备提供的功能。是一系列的宏。 V4L2_CAP_STREAMING表示设备支持I/O 流(Steaming I/O )(Memory Mapping

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档