V4L2
文章平均质量分 82
分析介绍linux中v4l2子系统。
麻辣小新
嵌入式linux一线开发者一枚,《嵌入式Linux设备驱动程序开发指南》译者之一。
展开
-
V4L2框架
框架图原创 2021-11-05 17:42:20 · 9223 阅读 · 3 评论 -
V4L2之设备注册
前言本文主要讲的是NXP的imx8mm,源码是由NXP提供的,不同的下游厂家的开发板也应该是一样的。引入异步注册的原因在SOC中的视频处理可能由多个IP组成,比如csi_bridge、csi_mipi接口、具体的sensor(ov5640等),甚至更多的IP,这样就导致了V4L2的复杂性。在v4l2中的视频数据流是有方向和顺序的,在linux中引入了异步注册的机制。v4l2的bridge驱动需要在所有的子设备都已经加载后,在初始化所有的子设备。异步注册的核心在于设备树中引入port接口,在子设备中有一原创 2021-09-17 17:48:27 · 4307 阅读 · 9 评论 -
V4L2之buffer分配和映射
数据结构原创 2021-11-05 17:44:08 · 3802 阅读 · 0 评论 -
V4L2之mmap()函数
前言我们经常使用mmap函数,它到底是怎么实现的呢?今天就来说说。。。读者朋友是不是有这样的疑问:1.在调用mmap()后,它的返回值到底是什么?又是怎么来的呢?2.我们在驱动中实现static int xxx_drv_mmap(struct file *filp, struct vm_area_struct *vma)的参数为什么是这样的?它跟我们的mmap()函数参数完全不沾边啊。3.在linux底层驱动的实例中是怎么实现的?做了哪些事情呢?函数使用映射#include <sys/原创 2021-09-18 17:32:04 · 1825 阅读 · 0 评论 -
V4L2之events
V4L2的event原创 2021-11-04 17:36:01 · 3508 阅读 · 1 评论