可以从NXP官网获取ISP camera调试文档。

i.MX 8M Plus_Cortex-A53/M7_NXP 半导体

export LD_LIBRARY_PATH=$pwd:$LD_LIBRARY_PATHexport VSI_LOG_LEVEL=1
export ISP_LOG_LEVEL=8
=================================================
以下为走ISP通路isp---到内存dewrap从内存取做dewrap处理后,放到v4l2内存。
sensor--->csi----->isp--->dewrap--->video0修改内存带宽参数。
===================================================以下为不走ISP通路sensor--->csi----isi

写的比较细,不适合快速移植。

1、使用bitbake kernel-module-isp-vvcam -c compile -v -f

编译生存代码驱动。可以基于以下修改c和h,需要注意os08a20是raw12的,如果需要修改为raw10的,需要将文件中改全。如以下,这里SBGGR12改成BGGR10,在将h中初始化代码进行修改编译后生存ko文件。os08a20.ko

\build\tmp\work\imx8mpevk-poky-linux\kernel-module-isp-vvcam\4.2.2.13.0-r0\git\vvcam\v4l2\sensor\os08a20\
static const struct os08a20_datafmt os08a20_colour_fmts[] = {{MEDIA_BUS_FMT_SBGGR10_1X10, V4L2_COLORSPACE_JPEG},
};

2、使用bitbake isp-imx  -c compile -v -f

编译生成isp驱动代码。修改里面相应配置参数

build\tmp\work\cortexa53-crypto-mx8mp-poky-linux\isp-imx\4.2.2.13.0-r0\isp-imx-4.2.2.13.0\units\isi\drv\OS08a20\source/OS08a20.c

此文件生成路径:os08a20.drv

build\tmp\work\cortexa53-crypto-mx8mp-poky-linux\isp-imx\4.2.2.13.0-r0\build\generated\release\bin

3、dts文件可以使用imx8mp-evk-dual-ov2775.dts或者imx8mp-evk-ov2775.dts。如果rst和pd都没有修改,可以只修改i2c address.

以上三步:如果硬件没问题,参数没错,isp camera基本可以出图正常。

测试:运行以下脚本。

需要以下一些ko文件。

insmod os08a20.ko
insmod vvcam-video.ko
insmod vvcam-isp.ko
insmod vvcam-dwe.ko
insmod imx8-media-dev.ko

run.sh

export LD_LIBRARY_PATH=$pwd:$LD_LIBRARY_PATH
#export VSI_LOG_LEVEL=1
export VSI_LOG_LEVEL=1
export ISP_LOG_LEVEL=0
chmod -x /opt/imx8-isp/bin/start_isp.sh
systemctl stop imx8-isp.service
sleep 1
ps -ef | grep video_test | grep -v grep | awk '{print $2}' |  xargs kill -9
ps -ef | grep isp_media_server | grep -v grep | awk '{print $2}' |  xargs kill -9#systemctl stop weston*
#systemctl stop imx8-isp.service#rmmod basler-camera-driver-vvcam.ko
#rmmod vvcam-video
#rmmod vvcam-isprmmod vvcam-dwe
rmmod vvcam-isp
rmmod vvcam-video
rmmod imx8-media-dev.ko
rmmod basler-camera-driver-vvcam.ko#rmmod vvcam-csis
#rmmod ar1335
rmmod os08a20#insmod basler-camera-driver-vvcam.ko
#insmod ar1335.ko
insmod os08a20.ko
insmod vvcam-video.ko
insmod vvcam-isp.ko
insmod vvcam-dwe.ko
insmod imx8-media-dev.ko#insmod vvcam-csis.ko
#insmod ar1335.kocp -f  Sensor0_Entry.cfg.os08a20  Sensor0_Entry.cfg
cp -f  Sensor1_Entry.cfg.os08a20  Sensor1_Entry.cfg#./isp_media_server case/config/2006_sensor_basler.json & gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! imxvideoconvert_g2d !  waylandsink
./isp_media_server CAMERA0 &
# ./isp_media_server CAMERA0 & gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-raw,format=YUY2,width=1280,height=720" ! queue ! waylandsink
# ./isp_media_server CAMERA0 & gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=3840,height=2160" ! queue ! imxvideoconvert_g2d !  waylandsink#./isp_media_server DUAL_CAMERA &
# gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! glimagesink render-rectangle='<0, 0,480,270>' &
# gst-launch-1.0 -v v4l2src device=/dev/video1 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! glimagesink render-rectangle='<0, 0,480,270>' &# gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! waylandsink window-width=640 window-height=480 &
# gst-launch-1.0 -v v4l2src device=/dev/video1 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! waylandsink window-width=640 window-height=480&

打开两个摄像头,可以依次执行以下命令,同时,run.sh脚本需要改成执行./isp_media_server DUAL_CAMERA &  。此时camera都能同时显示

gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-raw,format=YUY2,width=1280,height=720" ! queue ! glimagesink render-rectangle='<0, 0,320,240>' &
gst-launch-1.0 -v v4l2src device=/dev/video3 ! "video/x-raw,format=YUY2,width=1280,height=720" ! queue ! glimagesink render-rectangle='<640, 360,320,240>'  &

gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-raw,format=YUY2,width=1280,height=720" ! queue ! waylandsink
gst-launch-1.0 v4l2src device=/dev/video3 ! jpegparse ! matroskamux ! filesink location=out.mkv

或者使用以下命令抓去raw图rawdump_1280x720_268.pgm

/opt/imx8-isp/bin/video_test -w 1280 -h 720 -f RAW10 -t2 -m0 -d2

测试i2c是否ok

读i2c数据

i2ctransfer -y -f 2 w2@0x10 0x01 0x00 r1

写i2c数据

i2ctransfer -y -f 1 w3@0x60 0x30 0x06 0x02

一些测试工具命令

//获取支持的分辨率和编码格式
# v4l2-ctl --list-formats-ext -d /dev/video3
//获取支持的编码格式
# v4l2-ctl  --list-formats -d /dev/video3
//获取支持的camera设备
# v4l2-ctl --list-devices -d /dev/video3

以下命令可能有问题,谨慎使用:

v4l2-ctl -d2 --verbose --set-fmt-video=width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 --stream-to=d1.rawv4l2-ctl --device /dev/video2 --set-fmt-video=width=1280,height=720,pixelformat=YUYV; v4l2-ctl --device /dev/video2 --stream-mmap --stream-to=frame.raw --stream-count=1

NXP imx8 调试ISP camera相关推荐

  1. linux 定时器中断 imx,NXP iMX8 存储性能测试

    1).简介 NXP iMX8系列应用处理器是NXP发布的基于Cortex-A72/A53/A35和Coretex-M4/M7等架构的ARM处理器,对于存储部分,主要支持MMC 5.1.SD Memor ...

  2. NXP iMX8系列处理器Pin Multiplexing定义说明

    By Toradex秦海 1). 简介 为了提高处理器的设计灵活性和可用性,NXP的所有i.MX系列处理器都配备了基于 IOMUX Controller (IOMUXC)和IOMUX来使能Pin Mu ...

  3. NXP iMX8 Ubuntu 系统移植及 ROS 应用

    By Toradex 胡珊逢 1). 简介 NXP iMX8 是NXP近期发布的基于Cortex-A72.Cortex-A53等性能非常强大的的ARM处理器, 默认 BSP 是基于 Yocto 工程编 ...

  4. NXP iMX8 存储性能测试

    1). 简介 NXP iMX8系列应用处理器是NXP发布的基于Cortex-A72/A53/A35和Coretex-M4/M7等架构的ARM处理器,对于存储部分,主要支持MMC 5.1.SD Memo ...

  5. NXP iMX8和iMX6 ARM处理器网络性能对比

    By Toradex秦海 1). 简介 NXP iMX8已经正式发布,相较于之前NXP i.MX系列的主力产品iMX6,其性能有了大幅提升,本文就针对网络接口对NXP  iMX8和iMX6两款ARM处 ...

  6. mipi和isp处理_VS-RK3399 在linux系统下面调试Mipi camera接口介绍

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 debian系统目前支持Usb camera是没有问题,走UVC功能接口.那么mipi 接口camera和并口接口的camera,在Debian系统怎么设 ...

  7. 高通Android平台硬件调试之Camera篇

    之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...

  8. linux 双mipi摄像头,VS-RK3399 在linux系统下面调试Mipi camera接口介绍

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 debian系统目前支持Usb camera是没有问题,走UVC功能接口.那么mipi 接口camera和并口接口的camera,在Debian系统怎么设 ...

  9. linux 扫描mipi设备,VS-RK3399 在linux系统下面调试Mipi camera接口介绍

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 debian系统目前支持Usb camera是没有问题,走UVC功能接口.那么mipi 接口camera和并口接口的camera,在Debian系统怎么设 ...

最新文章

  1. Vivado2018如何与Notepad++关联?
  2. linux net.ipv4.ip_forward 数据包转发
  3. ASP.NET 安全认证(一)
  4. [Android] ListView关于adapter多种view设置
  5. 为什么传值时加号变成了空格_为什么中英文字间距不一样?我想谈谈我的理解...
  6. IOS中通知中心(NSNotificationCenter)的使用总结
  7. windows 下 putty 登陆服务器 显示matlab图形界面
  8. ironpython console是否可以卸载_IronPython的第十块鳞片
  9. LeetCode -- 204. Count Primes
  10. 前端面试题vue-element汇总
  11. 【零基础学Java】—List集合(三十九)
  12. 怎么判断自己启动的线程是否执行完成 java_Java面试笔记(上)
  13. 看不懂简明python教程_简明python教程
  14. 依码仕喷码机编程指南
  15. 环评师考各个科目有哪些备考的好方法?
  16. 微信小程序简洁登录页面(附源码)
  17. hook read_chk 导致dex2oat进程 abort
  18. css特效:流光背景+动态边框+滑动效果+聚集效果+小耳朵+阴影流光效果
  19. 代理服务器与NAT技术
  20. arduino动态刷新显示_玩家国度XG27UQ绝影游戏显示器评测:DSC加持的满血4K显示器...

热门文章

  1. 参考文献的期号和卷号
  2. jsp的实训=玩游戏(推魔兽)
  3. iOS开发 - 第04篇 - 网络 - 02 - JSON解析 请求 黑酷例子 HTTP通信
  4. 头文件和源文件的区别
  5. ns3中antenna module
  6. Abaqus如何关闭结点应力平均
  7. Android 分场景集成不同音频倍速算法的实现
  8. 做衣服供应链地推好不好做
  9. Wal-mart沃尔玛验厂有哪些内容 ?
  10. Redis集群安装介绍