Camera | 8.让rk3568支持前后置摄像头|世界今热点
2023-04-18 21:55:30 来源:互联网
Camera | 1.Camera基础知识
Camera | 2.MIPI、CSI基础
(资料图片)
Camera | 3.瑞芯微平台MIPI摄像头常用调试命令
Camera | 4.瑞芯微平台MIPI摄像头应用程序编写
Camera | 5.Linux v4l2架构(基于rk3568)
Camera | 6.v4l2拓扑架构(基于rk3568)
Camera | 7.瑞芯微rk3568平台摄像头控制器MIPI-CSI驱动架构梳理
一、目标
本文主要目标是,支持前置摄像头0v5648、后置摄像头ov13850,以及移植过程遇到的一些小问题的解决。
1. 摄像头连接图
参考上图,摄像头详细信息如下:
2个摄像头均连接在I2C通道42个摄像头共用同一个MIPI数据通道2个摄像头各自有独立的rst、pwdn引脚rkw提供的sdk中已经提供camera时钟的设备树信息,此处选择对应时钟即可ov13850用到4个lane,0v5648用到2个lane摄像头的片选通过select-gpios来选择,拉低选择0v13850,拉高选择ov5684三、设备树
根据上述摄像头硬件信息,设备树信息如下:
reg:该模块输入端点序号remot-endpoint :输出端点的名字,在下面设备树信息中列举出来data-lanes :数据通道信息在这里插入图片描述
四、驱动
rxw sdk中已经有这两个摄像头的驱动,但是需要增加片选的逻辑,
根据前面文章,
《Camera | 4.瑞芯微平台MIPI摄像头应用程序编写》
可知开启和关闭摄像头视频流通过以下命令:
VIDIOC_STREAMON,VIDIOC_STREAMOFF
对应的回调函数
staticintov5648_s_stream(structv4l2_subdev*sd,inton)
除此之外,power控制的回调函数
staticintov5648_s_power(structv4l2_subdev*sd,inton)
我们只需要在这对应的回调函数中增加select-gpio的操作即可。
所有修改代码如下:
+#include+#include+staticintselect_gpios;//前置摄像头使能staticintov5648_s_stream(structv4l2_subdev*sd,inton){……if(on){+gpio_direction_output(select_gpios,1);+usleep_range(1000,2000);……}else{……+gpio_direction_output(select_gpios,0);+usleep_range(1000,2000);}……}staticintov5648_s_power(structv4l2_subdev*sd,inton){……if(on){+gpio_direction_output(select_gpios,1);+usleep_range(1000,2000);……}else{+gpio_direction_output(select_gpios,0);……}……}staticvoid__ov5648_power_off(structov5648*ov5648){intret;structdevice*dev=&ov5648->client->dev;+gpio_direction_output(select_gpios,0);……}staticintov5648_probe(structi2c_client*client,……+structdevice_node*np;++np=dev->of_node;……+select_gpios=of_get_named_gpio(np,"select-gpios",0);++ret=gpio_request(select_gpios,"select-gpios");+if(ret<0){+dev_err(dev,"FailedtorequestGPIO:%d,ERRNO:%d",(s32)select_gpios,ret);+//returnret;+}+printk("ov5648select_gpios=%d",select_gpios);……
五、拓扑结构
加载成功后查看拓扑结构,会有以下entity 信息:
-entity70:m01_f_ov56484-0036(1pad,1link)typeV4L2subdevsubtypeSensordevicenodename/dev/v4l-subdev3pad0:Source[fmt:SBGGR10/2592x1944]->"rockchip-csi2-dphy0":0[]-entity74:m00_b_ov138504-0010(1pad,1link)typeV4L2subdevsubtypeSensordevicenodename/dev/v4l-subdev4pad0:Source[fmt:SBGGR10/4224x3136]->"rockchip-csi2-dphy0":0[ENABLED]
说明pipe通路ok。
六、xml配置文件
要让安卓识别前后置摄像头,还需要在以下文件增加后置摄像头ov13850、前置摄像头ov5684信息
@hardware/rockchip/camera/etc/camera/camera3_profiles.xml@hardware/rockchip/camera/etc/camera/camera3_profiles_rk356x.xml
在这两个xml文件中增加这两个摄像头信息即可,
一口君是按照其他摄像头内容修改的,
ov5684因为分辨率问题,需要注意不要超过最大值。
成功后,摄像头app界面会有切换的按钮出现
七、切换后,前置摄像头打不开bug
开机后用命令抓帧,用的是前置摄像头
打开app后,界面显示的是后置摄像头信息
但是点解界面的切换按钮,获取不到前置摄像头图像,
在不重启的情况下要操作后置摄像头,执行下面操作即可。
Settings->apps¬ificationsSEEALL16APPS选择最近应用CameraStorage&cache点击clearstorage然后退出重新打开摄像头APP即可
1. 错误分析
首先在ov5648驱动的加上logstaticintov5648_s_stream(structv4l2_subdev*sd,inton){……on=!!on;printk("6902%s(%d)enter!%dn",__func__,__LINE__,on);if(on==ov5648->streaming)gotounlock_and_return;if(on){……}else{……}ov5648->streaming=on;}
发现切换的时候没有执行该函数,所以定位是APP测出了问题
2. 查看catlog
03-0102:40:30.06216991749ICAM_Profiler:[67.906ms]GUARD:CaptureModule.openCameraAndStartPreview()-[67.565ms]mOneCameraOpener.open()03-0102:40:30.06216991749ICAM_Profiler:[67.906ms]GUARD:CaptureModule.openCameraAndStartPreview()-STOP03-0102:40:30.06316991741ECAM_OneCamFtrCnfgCrtr:Unknownsupportlevel:003-0102:40:30.06316991741ICAM_OneCamCreator:Camerasupportlevel:LIMITED_JPEG03-0102:40:30.06316991741WCAM_Log:TagSimpleOneCameraFactoryis3charslongerthanlimit.03-0102:40:30.06316991741ICAM_OneCamCreator:PictureSizeConfiguration:PictureSizeCalculator.Configuration{nativesize=3264x2448,crop=Rect(0,0-3264,2448)}03-0102:40:30.06516991741DCAM_CaptureModule:onCameraOpened:com.android.camera.one.v2.initialization.GenericOneCameraImpl@200eae903-0102:40:30.06516991741DCAM_CaptureModule:picturesize:3264x2448,previewBuffer:1280x96003-0102:40:30.06516991741DCAM_CaptureModule:startingpreview...03-0102:40:30.06816991699WCAM_IndicatorIconCtrlr:Tryingtosyncapanoindicatorthatisnotinitialized.03-0102:40:30.068349349WCameraDeviceClient:createSurfaceFromGbp:Camera1withconsumerusageflag:256:Forcingasynchronousmodeforstream03-0102:40:30.068349349WCameraDeviceClient:createSurfaceFromGbp:Camera1:Overridingformat0x1toIMPLEMENTATION_DEFINED03-0102:40:30.069265265DCamera3HAL:configure_streams:streamslistptr:0xf6242dd0,num203-0102:40:30.0702651812ERkCamera:RKISP2GraphConfig:@selectSensorOutputFormat:Appstreamsize(3264x2448)largerthanSensorfullsize(2592x1944),Checkcamera3_profiles.xml03-0102:40:30.0702651812ERkCamera:RKISP2GraphConfigManager:Couldn"tgetmediaCtlconfig03-0102:40:30.0702651812ERkCamera:V4L2Subdev:queryDvTimings,ret:-1,I:0,wxh:0x003-0102:40:30.0702651812ERkCamera:V4L2Subdev:VIDIOC_SUBDEV_QUERY_DV_TIMINGSfailed:Inappropriateioctlfordevice03-0102:40:30.0702651812ERkCamera:PlatformData:ErrorqueryDvTimingsret:-2147483648(/dev/v4l-subdev3)03-0102:40:30.0702651812ERkCamera:PlatformData:Errorclosingdevice(/dev/v4l-subdev3)03-0102:40:30.0702651812ERkCamera:RKISP2GraphConfig:getMediaDevInfoinfo.model:rkisp003-0102:40:30.0702651812ERkCamera:RKISP2GraphConfigManager:Couldn"tgetImgumediaCtlconfig03-0102:40:30.0702651812ERkCamera:RKISP2ImguUnit:Processingtaskscreationfailed(ret=-2147483648)03-0102:40:30.0702651812ERkCamera:RKISP2CameraHw:Unabletoconfigurestreamforimgunit03-0102:40:30.0702651812ERkCamera:RequestThread:Errorconfiguringthestreams@handleConfigureStreams:21303-0102:40:30.0702651812ERkCamera:RequestThread:error-2147483648inhandlingmessage:303-0102:40:30.071349349ECamera3-Device:Camera1:configureStreamsLocked:Setofrequestedinputs/outputsnotsupportedbyHAL03-0102:40:30.071349349ECameraDeviceClient:endConfigure:Camera1:Unsupportedsetofinputs/outputsprovided03-0102:40:30.07116991741WCameraDevice-JV-1:Streamconfigurationfaileddueto:endConfigure:505:Camera1:Unsupportedsetofinputs/outputsprovided03-0102:40:30.07216991741ECameraCaptureSession:Session0:Failedtocreatecapturesession;configurationfailed03-0102:40:30.07216991817ECAM_CaptureModule:Couldnotsetuppreview.03-0102:40:30.07916991699DCAM_LoggingImageReader:Closing:ImageReader{width=3264,height=2448,format=JPEG}03-0102:40:30.081349349ICamera3-Device:disconnectImpl:E03-0102:40:30.088349349ICamera3-Device:disconnectImpl:X03-0102:40:30.094349349ICameraService:disconnect:Disconnectedclientforcamera1forPID1699
其中:
03-0102:40:30.0702651812ERkCamera:RKISP2GraphConfig:@selectSensorOutputFormat:Appstreamsize(3264x2448)largerthanSensorfullsize(2592x1944),Checkcamera3_profiles.xml
提示分辨率不支持,
于是打开camera3_profiles.xml,将所有3264x2448修改为2592x1944
将下面几个属性所有关3264x2448的全部删除
2592*1944*1.5=5038848
八、其他问题
1. 前置摄像头旋转了180°
修改xml文件
2. 闪光灯
关键词:
为你推荐
-
Camera | 8.让rk3568支持前后置摄像头|世界今热点
-
天天时讯:daemon tools lit破解_daemon tools lite激活码
-
每日观点:关于发布国债期货合约可交割国债的通知
-
天天快讯:梦奇怎么玩s29_梦奇怎么玩
-
贵溪市去哪家医院做【割包皮手术】好
-
hbase是什么类型数据库 hbase是什么-天天快资讯
-
罗店“塌饼侠”和他的草头塌饼
-
网购比价软件哪一款最好(网购比价软件哪个最好?) 环球实时
-
美国副总统官邸附近传出枪声 未造成人员受伤 环球要闻
-
每日观察!福州高新区开展物业服务收费行为专项整治
-
每日信息:2023上海车展:高合HiPhi Y正式亮相
-
世界看热讯:走遍大街小巷,服务千家万户!苏州工业园区唯亭街道“新”先锋 注入基层治理“新力量”
-
热推荐:今年初夏与深秋:有两场农机盛会你不可错过
-
意甲-桑索内闪电球波贝加世界波 米兰1-1博洛尼亚_环球速看
-
世界今头条!中国红十字会总会等印发意见推进“博爱家园”建设助力乡村振兴
-
万宁公布多起行政处罚案件_焦点报道
-
拿生命开玩笑不该成为流量密码-今日关注
-
环球时讯:黄金价格回收今日最新价(2023年04月18日)
-
财政部介绍一季度财政收支情况 多个税种呈现积极变化
-
4月18日,中果网:客商五一备货 产地交易顺畅_今日看点
推荐内容
- Camera | 8.让rk3568支持前后置摄像头|世界今热点
- 天天时讯:daemon tools lit破解_daemon tools lite激活码
- 每日观点:关于发布国债期货合约可交割国债的通知
- 天天快讯:梦奇怎么玩s29_梦奇怎么玩
- 贵溪市去哪家医院做【割包皮手术】好
- hbase是什么类型数据库 hbase是什么-天天快资讯
- 罗店“塌饼侠”和他的草头塌饼
- 网购比价软件哪一款最好(网购比价软件哪个最好?
- 美国副总统官邸附近传出枪声 未造成人员受伤 环
- 每日观察!福州高新区开展物业服务收费行为专项整治
- 每日信息:2023上海车展:高合HiPhi Y正式亮相
- 世界看热讯:走遍大街小巷,服务千家万户!苏州工
- 热推荐:今年初夏与深秋:有两场农机盛会你不可错
- 意甲-桑索内闪电球波贝加世界波 米兰1-1博洛尼亚
- 世界今头条!中国红十字会总会等印发意见推进“博
- 万宁公布多起行政处罚案件_焦点报道
- 拿生命开玩笑不该成为流量密码-今日关注
- 环球时讯:黄金价格回收今日最新价(2023年04月18
- 财政部介绍一季度财政收支情况 多个税种呈现积极
- 4月18日,中果网:客商五一备货 产地交易顺畅_今
- 热闹是它们的!集度汽车因没有造车资质缺席上海车
- 开封市禹王台区审计局立足经济监督职责 深入推进
- 当前快讯:打印机怎么把照片扫描到电脑上_用打印机
- 天赐材料一季度实现营收43.14亿元 净利润6.95亿
- 螃蟹炖猪脚做法?|天天快讯
- 40多个省市对殡葬管理进行立法 保障群众“身后事”
- 浙江武义厂房火灾已发现遇难人员11名
- 武汉军山街道开展经典诵读进校园活动|天天看点
- 天天讯息:韩总统尹锡悦呼吁铲除工作岗位世袭陋习
- 女生在泼水节被围攻撕雨衣,当事人发声!多方回应
- 大和旅社_大和旅馆旧址
- 青龙管业:拟发行可转债募资不超过4亿元
- 参观黑猪文化,了解家乡美食——济南市莱芜第二实
- 世界热资讯!六年一户!绍兴学区房重磅新政
- 嫩江市增粮丰产固根基 “豆”志昂扬强部署_当前
- 每日简讯:常胜将军腾讯视频,打了败仗
- 隆多赛前预测:湖人快船会师西决 威少会站出来
- 当前消息!美民调:美国父母对枪支暴力担忧加剧
- 狡猾的圣诞树聚光灯 2021
- 速递!哈佛大学入学条件_哈佛的入学条件是什么
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市