RV1126 Linux IPC摄像机 索尼IMX415 摄像头调试

这篇具有很好参考价值的文章主要介绍了RV1126 Linux IPC摄像机 索尼IMX415 摄像头调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

平台 内核版本 SDK版本
RV1126 Linux4.19 RV1126_RV1109_LINUX_SDK_V2.1.0_20210512

1. 添加DTS驱动

配置dts之前需要检查原理图,查看摄像头是接在哪个总线下的。本例中是I2C1:

rv1126 雙鏡頭,linux,嵌入式硬件

此外还要注意reset引脚和原理图一一对应。本方案中power硬件配置的常供电方式,所以可以不配。

Linux4.19自带IMX415的驱动。如果使用的其他版本。可以先在driver下搜索有没有imx415.c,没有的话去其他项目上拷贝一份过来。

/****************************************
 * camera
 ***************************************/
&i2c1 {
	/delete-node/ ar0230@10;
	/delete-node/ os04a10@36;

	imx415: imx415@1a {
		compatible = "sony,imx415";
		reg = <0x1a>;
		clocks = <&cru CLK_MIPICSI_OUT>;
		clock-names = "xvclk";
		power-domains = <&power RV1126_PD_VI>;
		pinctrl-names = "rockchip,camera_default";
		pinctrl-0 = <&mipicsi_clk0>;

        avdd-supply = <&vcc_avdd>;
        dovdd-supply = <&vcc_dovdd>;
        dvdd-supply = <&vcc_dvdd>;

		/* reset is always pulled high in v10 */
		reset-gpios = <&gpio1 RK_PD6 GPIO_ACTIVE_LOW>;
	    // power-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;

		rockchip,camera-module-index = <1>;
		rockchip,camera-module-facing = "front";
		rockchip,camera-module-name = "YT10092";
		rockchip,camera-module-lens-name = "IR0147-60IRC-8M-F20";
		// ir-cut = <&cam_ircut0>;
		// flash-leds = <&flash_ir>;
		port {
			   ucam_out0: endpoint {
					   remote-endpoint = <&mipi_in_ucam0>;
					   data-lanes = <1 2 3 4>;
			   };
		};
	};


};

寄存器地址需要找摄像头厂商提供。即imx415: imx415@1a 和reg = <0x1a>; 

配置成功运行

i2cdetect -y 1

可以看到摄像头已经挂在在i2c1总线下了。地址是1a。

rv1126 雙鏡頭,linux,嵌入式硬件

需要注意寄存器地址的基地址偏移。

2.V4L2抓图

显示拓扑结构,执行:

 media-ctl -p -d /dev/media0

查看是否有IMX415 的输出,有则驱动注册成功。


- entity 31: m01_f_imx415 1-001a (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev3
        pad0: Source
                [fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none
                 crop.bounds:(12,16)/3840x2160]
                -> "rockchip-mipi-dphy-rx":0 [ENABLED]

抓图指令:

v4l2-ctl -d /dev/video0 \
--set-fmt-video=width=3840,height=2160,pixelformat=NV12 \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/tmp/nv0.bin \
--stream-count=1 \
--stream-poll

抓到图之后导出到PC,用7YUV软件打开

rv1126 雙鏡頭,linux,嵌入式硬件

选择与刚刚抓图相同的参数。

如果看到图像颜色不对、充满条纹等情况。像这样:

rv1126 雙鏡頭,linux,嵌入式硬件

先别慌,至少有图像了不是。到这一步了至少说明通信时没问题了。应该检查摄像头参数或者驱动有没有设置对。由于驱动是系统自带的,出问题的可能性很小,我们先不管他。

摄像头一般需要一个xml的配置文件才能出真彩图。我们在板子根目录下使用下面的命令查看这个文件有没有跟摄像头型号对应上:

ls etc/iqfiles/

正常的情况如下:

rv1126 雙鏡頭,linux,嵌入式硬件

文件的命名要和dts中配置的对应上。

在这一步我卡了很久,原因竟然是我在修改了~/buildroot/configs/rockchip_rv1126_rv1109_TVI6009R_defconfig

这里的BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_IQFILE="imx415_YT10092_IR0147-60IRC-8M-F20.xml"之后,由于之前已经编译过一次,再次编译的时候SDK并没有把这个xml文件更新成我需要的文件。在删除整个~/buildroot/output目录之后再次编译就行了。

下面这个命令可以查看每个接口对应的video号:

grep -H '' /sys/class/video4linux/video*/name

rv1126 雙鏡頭,linux,嵌入式硬件

我们这里选用video19来走scale0通道抓NV12格式的图:

v4l2-ctl -d /dev/video19 \
--set-fmt-video=width=3840,height=2160,pixelformat=NV12 \
--stream-mmap=3 \
--stream-skip=3 \
--stream-to=/tmp/nv12.bin \
--stream-count=1 \
--stream-poll

如果提示busy,多半是后台ISPserver被某个进程占用了由于我之前已经打开了IPC服务,摄像头一直在被IPC推流服务占用,从摄像头的发热情况也可以判断出来。这里需要先把IPC服务都杀掉:

[root@RV1126_RV1109:/]# ps -ef | grep "ipc"
root      106    1  3 05:40 ?        00:00:22 startup_app_ipc -d rkispp_scale2 -W 960 -H 540 -w 720 -h 1280 -I 0
root      643    1  0 05:40 ?        00:00:00 ipc-daemon --no-mediaserver
root     2958  743  0 05:49 ttyFIQ0  00:00:00 grep ipc


[root@RV1126_RV1109:/]# kill -9 106 643

然后再运行抓图指令,图像色彩正常了。

IPC推流正常:

rv1126 雙鏡頭,linux,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-797228.html

到了这里,关于RV1126 Linux IPC摄像机 索尼IMX415 摄像头调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity丨移动相机朝向目标并确定目标在摄像机可视范围内丨摄像机注释模型丨摄像机移动丨不同尺寸模型优化丨

    本文提供的功能是摄像机朝向目标移动,并确定整个目标出现在摄像机视角内,针对不同尺寸的模型优化。 提示:这里可以添加技术名词解释 直接上代码 后期可扩展功能:类似点击目标完成视角移动等。

    2024年02月07日
    浏览(57)
  • 小米摄像机升级失败,小米摄像机黄灯常亮修复,全网最硬核修复

    2020年买了个小米云台相机pro,后来搬家没怎么用,放家里吃灰一年多,前两天突然翻到想着拿来用一用,结果开机后提示要升级,我就点了升级,结果升级好重启后就一直没反应了,一直黄灯常亮。升级期间也没断电干啥的,结果就不能开机了。然后网上找方法说可以下载固

    2024年02月10日
    浏览(163)
  • 【UE Sequencer系列】08-副镜头切换、摄像机绑定摇臂的使用、摄像机绑定滑轨的使用

    目录 一、副镜头切换  二、摄像机绑定摇臂的使用  三、摄像机绑定滑轨的使用 1. 为“shot_05”新建镜头(复制资产,创建新的关卡序列)  同样的步骤再创建一个“Shot_07_02”  此时我们就可以对“Shot_07”中的两个副镜头进行切换,通过如下操作实现副镜头切换: (“Sho

    2024年02月07日
    浏览(44)
  • 【UE4】 通过按钮点击实现摄像机的切换 并通过鼠标控制新摄像机的旋转

    首先创建了4个Actor蓝图类 每个蓝图类内只拥有一个摄像机组件 将每个actor蓝图类摆放到场景的合适位置 在关卡蓝图中创建自定义事件,当该事件触发时切换摄像机 创建一个控件蓝图,在控件蓝图中创建如下5个按钮,并创建点击事件。按钮分别表示车上的4个镜头和车外自由

    2023年04月09日
    浏览(59)
  • 打架识别摄像机

    随着社会治安问题的增加,打架事件在公共场所频繁发生,给社会治安带来了一定程度的威胁。因此,为了提高公共场所的安全性,可以利用现代科技,如人工智能和摄像技术,开发一种打架识别摄像机。 这种摄像机可以通过人工智能算法对视频进行实时监测,当监测到有两

    2024年01月25日
    浏览(42)
  • Unity摄像机跟随

    将摄像机直接拖拽到被跟随的目标下面即可,这样摄像机永远在目标的后面 缺点: 屏幕旋转太平滑了 目标物体在屏幕上的位置永远不变 目标物体被销毁时总不能把摄像机也销毁了吧 先相机坐标和物体坐标做差,求得偏移量,在之后的每一帧里,将偏移量加上物体的坐标。

    2024年02月21日
    浏览(54)
  • Unity 摄像机

    摄像机分为两种  (1)透视摄像机 (2) 正交摄像机  一般3D游戏使用的透视多一点,2D游戏使用正交多一点。 相机参数 清除标记: (1)天空盒 (2)仅深度,类似于权重,优先级,深度大的覆盖住深度小的视线 例如 主相机显示的却不是当先视线,而是新相机的视线 ,主

    2023年04月21日
    浏览(47)
  • 海康摄像机配置流程

    海康摄像机配置流程 文档所用摄像机型号: DS-2CD2245XM-LGLSET 1、先接通摄像机电源,连上网线 2、在 设备网络搜索 客户端中搜索并激活设备 (1)下载 设备网络搜索 ​ 设备网络搜索工具下载地址 (2)没有激活的设备显示未激活状态,此时记下所显示的IP地址 ​ (3)在谷歌

    2024年02月02日
    浏览(67)
  • ThreeJS - 修复摄像机近距离模型或者摄像机在某些观察角度3D模型部分或者全部不可见的问题

    最近使用three.js在场景中显示gltf模型时候,当我使用 THREE.OrbitControls 操作摄像机想近距离观察gltf模型的时候发现一部分模型消失了,比如说假如这个模型是一匹马,当我远距离观察时可以完整的看到整匹马,但是当我想拉近摄像头近距离观察马的时候,这个时候我只能看到马

    2023年04月08日
    浏览(42)
  • OpenCV之摄像机标定

    最近方向定下来是双目立体视觉,主要是做重建这块的研究。大致过程是图像获取-摄像机标定-特征提取-匹配-三维重建,当然开始可以进行图像预处理,矫正,后期可以进行点云的进一步处理,如渲染表面使其更接近于现实物体。 图像获取相对来说比较简单,用相机拍摄目

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包