v4l2设备读写流程(CSI驱动调用流程)
2018-02-28 10:25
363 查看
1、open
初始化传感器模块和CIS,使能CSI的时钟
Initial Sensor Module and CSI I/F ,enable the csi clock
2、VIDIOC_QUERYCAP
得到设备的容量
See the drivers capability
3、VIDIOC_S_FMT
获取和设置CSI I/F的格式和传感器模式
Try and Set format to CSI I/F and Sensor Module
4、VIDIOC_REQBUFS
申请视频捕获缓冲区
Request buffers for video capture
5、VIDIOC_QUERYBUF
返回mmap映射队列缓冲区的索引,大小,格式和偏移信息
Query buffer by index,return size,format and offset for mmap
6、VIDIOC_STREAMON
开启捕获,使能中断,开启队列缓冲区
Start capturing and enable irq;queue all the buffers
以上完成接收数据帧的前期准备工作,
下面开始循环接收处理图像帧
7、Poll and wait
等待一帧完成
Wait a frame to be done
8、VIDIOC_DQBUF
从内核缓冲区队列中删除一帧并发送到用户空间。
Delete a frame from the frame buffer list and send it to user
9、APP Processing
用户来处理这一帧的数据
User is processing the frame
10、VIDIOC_QBUF
从设备中获取一帧数据到内核缓冲区队列
以上循环进行,完成CSI设备数据到内核空间,然后映射到用户空间的过程。
11、VIDIOC_STEAMOFF
停止捕获,关闭中断,释放内核缓冲区队列
12、MUNMAP
解除内核缓冲区到用户缓冲区的映射
Memory unmap
13、CLOSE
关闭CSI设备
Disable the csi clock
相关文章推荐
- 从USB设备插上到驱动probe调用流程分析
- platform设备和驱动注册调用probe的流程
- 从USB设备插上到驱动probe调用流程分析
- USB学习二:从USB设备插上到驱动probe调用流程分析(转)
- Samsung_tiny4412(驱动笔记03)----字符设备驱动基本操作及调用流程
- 从USB设备插上到驱动probe调用流程分析
- 从USB设备插上到驱动probe调用流程分析
- Android设备驱动之——V4L2
- 平台总线 设备 驱动相关调用与简介
- 十二 v4l2 video设备注册和调用过程
- 块设备读写流程(转载)
- 块设备驱动-流程
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
- 触摸屏i2c设备和驱动的创建流程及方法
- 设备驱动编写流程之一
- platform总线设备驱动开发流程
- linux块设备读写流程
- 26. OP-TEE驱动篇----libteec和tee_supplicant调用驱动流程和重要结构体
- android从应用到驱动之—camera(1)---程序调用流程
- Linux驱动学习(4-字符设备-自动创建字符设备并读写)