android6.0 adv7180 FslCameraHAL

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

android6.0 adv7180 FslCameraHAL

2,904 Views
blackhuang
Contributor I

weidong.sun

hi weidong

               我从社区上看你回答过相关的问题How to test Tvin(adv7180) in imx6 android ,特请教您一下。

我现在使用mxc-v4l2-tvin -ow 800 -oh 480可以正常使用。我尝试去使用系统相机时出现can't connect to the camera

下面抓取的log cat:

130|root@sabresd_6dq:/dev # logcat -s FslCameraHAL
--------- beginning of main
--------- beginning of system
01-01 00:00:03.306 150 150 I FslCameraHAL: void CameraHAL::enumSensorSet()
01-01 00:00:03.306 150 150 I FslCameraHAL: int32_t CameraHAL::matchDevNodes()
01-01 00:00:03.306 150 150 I FslCameraHAL: getNodeName: dev path:/dev/video0
01-01 00:00:03.707 150 150 I FslCameraHAL: getNodeName: node name:mxc_v4l2
01-01 00:00:03.707 150 150 I FslCameraHAL: getNodeNames: node name:mxc_v4l2,adv7180_decoder
01-01 00:00:03.708 150 150 I FslCameraHAL: getNodeName: dev path:/dev/video1
01-01 00:00:03.713 150 150 W FslCameraHAL: int32_t CameraHAL::getNodeName(const char*, char*, size_t) open dev path:/dev/video1 failed:Try again
01-01 00:00:03.713 150 150 I FslCameraHAL: getNodeName: dev path:/dev/video16
01-01 00:00:03.713 150 150 W FslCameraHAL: int32_t CameraHAL::getNodeName(const char*, char*, size_t) open dev path:/dev/video16 failed:Permission denied
01-01 00:00:03.713 150 150 I FslCameraHAL: getNodeName: dev path:/dev/video17
01-01 00:00:03.713 150 150 W FslCameraHAL: int32_t CameraHAL::getNodeName(const char*, char*, size_t) dev path:/dev/video17 is not capture
01-01 00:00:03.713 150 150 I FslCameraHAL: matchPropertyName: index:0, 0
01-01 00:00:03.713 150 150 I FslCameraHAL: matchPropertyName: index:1, 0
01-01 00:00:03.713 150 150 I FslCameraHAL: camera number is 0

从dev path:/dev/video16 failed:Permission denied 

分析、我更改了android/device/fsl/imx6/etc/ueventd.freescale.rc   /dev/video16              0660   system     camera后又显示为path:/dev/video16 is not capture

项目新增倒车影像,还麻烦您帮忙看一下。非常感谢!!!!

Labels (1)
0 Kudos
Reply
3 Replies

2,771 Views
blackhuang
Contributor I

hi weidong

         非常感谢您的支持、我这边已经成功了。

有一个问题困扰我很久,虽然我现在成功了、但是我是将很多必要的模块文件(.ko)放在out镜像目录里使用脚本进行开机的insmod。

这样很不方便,我在内核中将这些*或者M编译都无法编译到image中。这是为何?

我这边想将这些模块都编译进系统会更方便些?

         希望能够得到您的帮助,非常感谢!!!

0 Kudos
Reply

2,771 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi black,

   u-boot & kernel都可以用单机模式来编译,比如使用传统的make menuconfig进行配置,你可以参考linux document中的porting guide, 搜索standalone,把编译工具链导出来,u-boot,kernel源码可以从源码网站下载,也可以从yocto里复制出来。然后,你在内核配置里修改编译方式,编译进内核。

  也可以在yocto的内核源码中修改,用bitabke linux-imx -f强制编译。

Have a nice day!

BR,

Weidong

0 Kudos
Reply

2,771 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Black,

   非常抱歉,我刚刚看到你要和我讨论这个问题的信息!

   是这样的,ADV7180和其他的camera ,比如OV5640等是非常类似的工作方式。ADV7180看做一个camera sensor。您使用mxc-v4l2-tvin 测试是,是没问题的,这表示在命令行或者说在linux命令行使用正常,表示底层驱动等都ok了。

    但是,当工作android平台时,还需要把adv7180加到HAL层去支持它。这一点,我们的Sabre AI板子(汽车方案)已经支持了这个,如果你是在SabreSDB(P)板子代码上做的移植,那么请你参考Sabre AI的代码配置,比如有关的board configre mk把ADV7180加到你的代码里。

   另外,你要注意查查看CamerHal层里的代码,android 6.0里用的应该是libcamera2。android 相机会调用libcamera的库.so文件,进一步调用到HAL层,HAL层再open dev/video0,就工作起来了。

Have a nice day!

BR,

Weidong

0 Kudos
Reply