ancientcc 发表于 2018-5-22 11:49:02

自編译出的system.img打开MIPI相机失败

本帖最后由 ancientcc 于 2018-5-22 11:54 编辑

开发板:AIO-3288J
因为怕不是最新,昨天重下的源码,能确认下载的是最新Android源码:firefly-rk3288_android5.1_git_20180126.tar.gz
-----------------------------------------------

从firefly买的MIPI接口的摄像头,运行开发板自带的Andorid5.1固件,一切正常,包括用摄像头拍照。我们要增加功能,需要自定义固件。按网站写的用以下命令进行編译。
source build.sh
lunch rk3288_AIO_box-userdebug
make -j8
./mkimage.sh
編译出system.img。然后在ubuntu下用upgrade_tool把这system.img烧入开发板。开发板进入桌面,HDMI正常,但一运行“相机”就非法退出。通过看调试信息应该是打开摄像头失败。

按上面方法編译出的system.img是不是不支持MIPI摄像头?

网站另外提供了“官方脚本編译 HDMI+MIPI显示编译”,但我运行以下命令后(ubuntu 16.04 LTS)。
./FFTools/make.sh -d firefly-rk3288-AIO_mipi -j8 -l rk3288_AIO_box-userdebug
执行出现了错误。
ancientcc@ancientcc-TM1604:~/firefly-rk3288$ ./FFTools/make.sh -d firefly-rk3288-AIO_mipi -j8 -l rk3288_AIO_box-userdebug
./FFTools/make.sh: 非法选项 -- d
usage: make.sh [-j make_thread]
ancientcc@ancientcc-TM1604:~/firefly-rk3288$

用手动编译方法,该怎么編译出支持HDMI+MIPI显示的Android固件?

jpchen 发表于 2018-5-22 14:18:20

内核:
make firefly-rk3288-AIO_mipi_defconfig;
make firefly-rk3288-AIO_mipi.img -j8;
android:
source build.sh;lunch rk3288_AIO_box-userdebug; make installclean;make -j8

ancientcc 发表于 2018-5-22 14:23:36

jpchen 发表于 2018-5-22 14:18
内核:
make firefly-rk3288-AIO_mipi_defconfig;
make firefly-rk3288-AIO_mipi.img -j8;


自編译system.img已经可以访问MIPI摄像头了。

另外,我们定制固件的一个主要目的是要用USB摄像头(支持UVC),对让AIO3328J支持USB摄像头,有什么参考资料吗?

jpchen 发表于 2018-5-22 14:30:54

内核:
make firefly-rk3288-AIO_mipi_defconfig;
make firefly-rk3288-AIO_mipi.img -j8;
android:
source build.sh;lunch rk3288_AIO_box-userdebug; make installclean;make -j8

jpchen 发表于 2018-5-29 15:58:24

ancientcc 发表于 2018-5-22 14:23
自編译system.img已经可以访问MIPI摄像头了。

另外,我们定制固件的一个主要目的是要用USB摄像头(支 ...

一般的UVC摄像头都是可以使用的,如果使用不了可以把log发上来看看

ancientcc 发表于 2018-5-30 08:23:53

jpchen 发表于 2018-5-29 15:58
一般的UVC摄像头都是可以使用的,如果使用不了可以把log发上来看看

已在用uvc摄像头,把CAMERAS_SUPPORTED_SIMUL_MAX改为2后,可以同时取两个摄像头图像了。

有人说开发板存在无法区分两个USB摄像头问题,接下我会去测,但不知这问题是否真的存在?

重启开发板,系统的日期、时期会回到默认值。由于app要调用有日期限制的人脸识别sdk,这给开发带来点小麻烦。你们要是有新版,建议修正下,像在联网状态时,如果使能“设置”中的“自动确定日期和时间”就立即较正下。

jpchen 发表于 2018-5-30 09:01:55

ancientcc 发表于 2018-5-30 08:23
已在用uvc摄像头,把CAMERAS_SUPPORTED_SIMUL_MAX改为2后,可以同时取两个摄像头图像了。

有人说开发 ...

开发板有个RTC接口接钮扣电池,接上可以让RTC保持时间

ancientcc 发表于 2018-5-30 22:22:23

jpchen 发表于 2018-5-30 09:01
开发板有个RTC接口接钮扣电池,接上可以让RTC保持时间

如何区分两个USB摄像头。

让开发板只连一个uvc摄像头,当连的USB口是位在只有一个的那个口时,open时用的设备驱动路径是/dev/video0。把摄像头换到两个叠着的上面那个USB口,open时用的设备驱动路径还是/dev/video0。这意味着虽然是两个不同的物理USB口,但设备驱动路径是同一个,那我该怎么区分两个USB摄像头,或你们建议是用什么方案区分呢?

jpchen 发表于 2018-5-31 11:30:45

可以尝试使用摄像头的idVendor 和 idProduct当创建节点的时候区分

ancientcc 发表于 2018-5-31 19:22:04

jpchen 发表于 2018-5-31 11:30
可以尝试使用摄像头的idVendor 和 idProduct当创建节点的时候区分

希望能说得更详细些。用的摄像头是一同厂家、同一型号,因而idVendor、idProduct是同一个值。

你说“使用摄像头的idVendor 和 idProduct当创建节点”,这里的创建节点指的是uvc_alloc_entity(<media>/usb/uvc/uvc_driver.c)函数吗?区分不同USB口靠的是什么参数?
页: [1]
查看完整版本: 自編译出的system.img打开MIPI相机失败