Firefly开源社区

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

89

积分

0

威望

0

贡献

技术小白

积分
89
发表于 2018-5-22 11:49:02     
本帖最后由 ancientcc 于 2018-5-22 11:54 编辑

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

从firefly买的MIPI接口的摄像头,运行开发板自带的Andorid5.1固件,一切正常,包括用摄像头拍照。我们要增加功能,需要自定义固件。按网站写的用以下命令进行編译。
  1. source build.sh
  2. lunch rk3288_AIO_box-userdebug
  3. make -j8
  4. ./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
执行出现了错误。
  1. ancientcc@ancientcc-TM1604:~/firefly-rk3288$ ./FFTools/make.sh -d firefly-rk3288-AIO_mipi -j8 -l rk3288_AIO_box-userdebug
  2. ./FFTools/make.sh: 非法选项 -- d
  3. usage: make.sh [-j make_thread]
  4. ancientcc@ancientcc-TM1604:~/firefly-rk3288$
复制代码


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

使用道具 举报

1637

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
1637
QQ
发表于 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
回复

使用道具 举报

89

积分

0

威望

0

贡献

技术小白

积分
89
发表于 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摄像头,有什么参考资料吗?
回复

使用道具 举报

1637

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
1637
QQ
发表于 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
回复

使用道具 举报

1637

积分

10

威望

12

贡献

中级创客

Rank: 4

积分
1637
QQ
发表于 2018-5-29 15:58:24     
ancientcc 发表于 2018-5-22 14:23
自編译system.img已经可以访问MIPI摄像头了。

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

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

使用道具 举报

89

积分

0

威望

0

贡献

技术小白

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

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

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

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

使用道具 举报

1637

积分

10

威望

12

贡献

中级创客

Rank: 4

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

有人说开发 ...

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

使用道具 举报

89

积分

0

威望

0

贡献

技术小白

积分
89
发表于 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摄像头,或你们建议是用什么方案区分呢?
回复

使用道具 举报

1637

积分

10

威望

12

贡献

中级创客

Rank: 4

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

使用道具 举报

89

积分

0

威望

0

贡献

技术小白

积分
89
发表于 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口靠的是什么参数?
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表