您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: