LINUX
文章平均质量分 74
stone_zzuli
这个作者很懒,什么都没留下…
展开
-
sensor调试流程和遇到的问题
注意:模式切换的时候,用示波器可以看到sensor在做切换的时候会出现突然拉低VSNYC信号,形成一个较长的消隐(blank)信号,然后输出另外一个MODE的下的信号,有时候不稳定的现象就是这个blank信号过长,特别是发生在低帧率的情况下,会使后端ISP或者DSP无法采集到数据,没有办法产生拍照的中断,造成task被挂起(进入 idle task)或者死机重启(被狗咬)的现象,具体原因和对策可以根据不同平台的实现方法去分析解决。据我的观察,每次一个新的工程师在调试Sensor的时候几乎都会遇上这个问题。转载 2023-04-19 10:27:23 · 1788 阅读 · 0 评论 -
arm-linux-gnueabihf gcc8.3交叉编译工具搭建教程
2.1 用户目录下新建gcc_all文件夹,下载binutils-2.31.tar.bz2 gcc-8.3.0.tar.gz glibc-2.28.tar.bz2 linux。解决:记录LD_LIBRARY_PATH的值(echo $ LD_LIBRARY_PATH=),清空该变量(# LD_LIBRARY_PATH=),编译安装结束后重新添加。安装完成后系统中存在arm-linux-gnueabihf-gcc-8.3.0。安装Linux内核头文件到交叉编译安装文件夹。编译安装glibc2.28。转载 2023-03-07 13:45:34 · 1115 阅读 · 0 评论 -
LINUX 下使用V4L2协议通过MMAP方式进行摄像头原始图像的采集与存储
在内核中,摄像头所捕获的视频数据,我们可以通过一个队列来存储,当摄像头数据到来时,内核会查看队列中是否有缓冲区(v4l2_buffer),若有缓冲区则将摄像头数据保存到缓冲区(v4l2_buffer)中,若没有缓冲区或所有的缓冲区被使用完则放弃此次摄像头传送过来的数据。然后开启视频流后,内核将开始读取摄像头数据,将数据逐个放到内核缓冲区(v4l2_buffer)中。然后将其中一个缓冲区出队,就可以得到获取一帧摄像头数据了,之后我们再将该缓冲区重新入队。转载 2023-03-01 15:57:47 · 1350 阅读 · 0 评论 -
索尼 Sensor 基本概念,及曝光相关的计算
V_Blank:是指场消隐或称垂直消隐,如下帧结构示意图所示,假定曝光起始位置在图像的左上角,曝光完成一帧图像后,曝光位置要从图像的右下角返回左上角,开始新一帧的曝光,这一段时间间隔称为V_Blank。H_Blank:是指行消隐或称水平消隐,如下帧结构示意图所示,假定曝光起始位置在图像的左上角,对于逐行曝光的 sensor 来说,曝光从第一个像素开始,依次曝光直至这行的最后一个像素曝光结束,--- 积分时间是指曝光一帧所用的行数,那这一帧的绝对曝光时间就等于,曝光所用行数乘以曝光一行所用的时间。转载 2022-12-09 10:29:51 · 5351 阅读 · 1 评论 -
V4L2框架-control
简介既然涉及到视频输入,就会有很多与 ISP 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。V4L2 很贴心地为我们提供了这样一些接口以供使用(可以说是非常贴心的了),在内核里面,这些控制项被抽象为一个个的控制 ID,分别以 V4L2_CID_XXX 来命名。有许多控制函数并不是单个驱动特定的,这些通用的控制 API 可以挪到 V4L2 内核框架里面。而留给驱动开发者的问题只是以下几个点:明确自己需要什么样的 control怎样去添加转载 2022-12-05 13:57:35 · 618 阅读 · 0 评论 -
[分享] -- V4L2 框架分析及使用流程分析
Video4Linux2 是 Linux 内核中关于视频设备的内核驱动,为上层的访问底层的视频设备提供了统一的接口。凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出公共代码避免代码冗余等好处。就像公司的老板一般都不会直接找底层的员工谈话,而是找部门经理了解情况,一个是因为底层屌丝人数多,意见各有不同,措辞也不准,部门经理会把情况汇总后再向上汇报;二是老板时间宝贵。转载 2022-12-02 10:41:22 · 1484 阅读 · 0 评论 -
linux开机自启动/profile和rcS区别
etc/profile文件只在登陆用户后,才会执行。并且每个用户登陆,都会进行一次。因此,可在这里设置一些用户日常操作所需的环境变量,就省得每次开机登陆都需要设置了。那么对于想开机自启动的任务就不要放这边了,因为用户一旦没登陆,任务也就不会自动启动了。4. 直接将命令添加到etc/inittab 或 etc/init.d/rcS。3. 写一个Sxx开头的脚本,放到etc/init.d//etc/profile和/etc/profile.d/2. 写一个脚本,然后放到etc/init.d/rcS。转载 2022-10-14 16:12:23 · 627 阅读 · 0 评论 -
linux 驱动入门
(3)Kconfig文件中按照一定的格式包含了一个又一个的配置项,每一个配置项在make menuconfig中都会成为一个菜单项目。(1)虽然menuconfig菜单项来自于Kconfig,但是每一个菜单的选项结果(Y、N、M)却不是保存在Kconfig中的。.release = test_chrdev_release, //关闭文件,内核中close就是(release).release = test_chrdev_release, //关闭文件,内核中close就是(release)转载 2022-09-29 14:56:19 · 559 阅读 · 0 评论 -
linux开发板与windows下文件夹通过nfs共享
正在上传…重新上传取消。转载 2022-08-26 11:14:35 · 1107 阅读 · 0 评论