
全志T7
文章平均质量分 88
全志T7
suwen8100
车载电子&音频&蓝牙
展开
-
全志T7 v4l2从应用程序角度分析驱动的调用
标准调用流程1、openRecordInit()–>recordInit()–>initializeDev()–>connectCamera()–>connectDevice()–>openCameraDev()–>open()应用程序首先调用open打开“/dev/video0”设备节点,获得方便后续操作的文件描述符:注意这里的打开模式使用“O_RDWR | O_NONBLOCK”,即可读可写和非阻塞。2、获取Camera驱动支持的功能(能力)Reco.原创 2021-04-28 14:06:43 · 2420 阅读 · 0 评论 -
全志T7 v4l2应用程序CameraTester
原创 2021-04-28 11:48:46 · 409 阅读 · 1 评论 -
全志T7 csi&isp等驱动
vin驱动入口vin驱动的入口文件是drivers\media\platform\sunxi-vin\vin.c,入口函数是vin_init():static int __init vin_init(void){ ret = sunxi_csi_platform_register(); ret = sunxi_isp_platform_register(); ret = sunxi_mipi_platform_register(); ret = sunxi_flash_platform_reg原创 2021-04-28 11:44:03 · 2046 阅读 · 0 评论 -
全志T7 vin core驱动
vin core驱动入口vin core驱动由vin驱动调用被注册到系统中:(vin.c vin_init())这里调用vin_core.c:Probe方法根据DST配置信息,系统共有8个vinc设备,分别是vinc0vinc7,DST中使能了vinc0vinc5。驱动和设备匹配后将运行probe方法:static int vin_core_probe(struct platform_device *pdev){ //1、从DST中获取信息填充vinc结构体 //2、分配DMA内存 /原创 2021-04-28 11:22:26 · 2121 阅读 · 1 评论 -
全志T7 nvp6134驱动
文件结构nvp6134c.c nvp6134驱动入口、与T7 sensor_helper.c结合完成v4l2驱动的注册等。csi_dev_nvp6134.c nvp6134芯片寄存器初始化video.c 主要是与视频参数相关的一些配置,csi_dev_nvp6134.c会调用到这个文件的函数eq.c eq_common.c eq_recovery.c nvp6134内部Equalizer(均衡)过滤器的配置,一般不需要修改acp.c acp_firmup.c nvp6134内部原创 2021-04-28 11:04:44 · 2580 阅读 · 0 评论 -
全志T7 vin驱动入口
vin驱动入口vin驱动代码主要在drivers\media\platform\sunxi-vin\vin.c,该文件里面的所有函数几乎用static修饰,即只能被本驱动模块内部使用。分析vin驱动的代码,总结它是个用于管理V4l2设备的,包括主设备和子设备,在驱动启动过程中它是一个引导者,驱动启动后,它退隐了,应用程序对Camera的操作与它无关。vin驱动入口函数是vin_init():static int __init vin_init(void){ ret = sunxi_csi_plat原创 2021-04-28 10:47:47 · 2369 阅读 · 0 评论 -
全志T7 v4l2框架概述
下文主要参考linux-3.10内核文档对V4L2框架进行一次全局的介绍。V4L2框架简介几乎所有的设备都有多个 IC 模块,它们可能是实体的(例如 USB 摄像头里面包含 ISP、sensor 等)、也可能是抽象的(如 USB 设备里面的抽象拓扑结构),它们在 /dev 目录下面生成了多个设备节点,并且这些 IC 模块还创建了一些非 v4l2 设备:DVB、ALSA、FB、I2C 和输入设备。正是由于硬件的复杂性,v4l2 的驱动也变得非常复杂。特别是 v4l2 驱动要支持 IC 模块来进行音/视频原创 2021-04-28 10:35:04 · 1364 阅读 · 0 评论 -
全志T7 CSIC模块
硬件方框图在T7的内部是通过CSIC模块来接收BT1120数据的,T7的CSIC模块方框图(我这里只有H5的规格书,借用H5的CSIC,T7的和H5的应该差不多)如下:上图就是CSIC模块的方框图。CSIC是由输入Parser(格式解析),ISP(图像处理),VIPP(图像后处理)和DMA(内存写入)组成。该控制器有4个输入Parser,2个ISP,8个VIPP以及8个DMA。ISP2和ISP3内部没有实际的算法模块,仅用于顶层数据传输。上图中一些简称及本文相关术语解释如下:ISP: Image原创 2021-04-28 09:56:26 · 2419 阅读 · 0 评论 -
V4L2驱动框架简单分析
转自:https://www.cnblogs.com/huty/p/8518234.html概述Video4Linux2是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口。凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出公共代码避免代码冗余等好处。就像公司的老板一般都不会直接找底层的员工谈话,而是找部门经理了解情况,一个是因为底层屌丝人数多,意见各有不同,措辞也不准,部门经理会把情况汇总后再向上汇报;二个是老板时间宝贵。V4L2支持三类设备:转载 2021-04-28 09:44:42 · 1902 阅读 · 0 评论 -
全志T7 Display驱动分析
本文档在《全志T7 Display驱动简介.docx》基础上进行补充说明,主要的目的是想了解系统总共有多少个图像层可以给应用程序使用,好让以后应用程序如何同叠加图像层来高效显示画面。DST配置下面说明比较旧,仅供参考:Display驱动入口驱动的入口文件是dev_disp.c,入口函数disp_module_init():static int __init disp_module_init(void){ int ret = 0, err; //1、注册一个/dev/disp的字符设备原创 2021-04-27 14:38:59 · 4717 阅读 · 7 评论 -
全志T7 Display驱动简介
可先阅读《Sunxi_display2模块使用文档.pdf》、《图形开发用户指南.pdf》DE:Display EngineWrite-Back:capture data between display engine and TCON for Miracast application.下图参考《Allwinner_DE2.0_Spec_V1.0.pdf》:在全志linux代码drivers\video\sunxi目录下有disp和disp2,在A20、A33、A80采用的是disp的框架,而20原创 2021-04-27 13:54:36 · 4709 阅读 · 0 评论