WhyCan Forum(哇酷开发者社区)

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-08-22 13:51:13

AWalker
会员
注册时间: 2020-08-11
累计积分: 10

DOPI EV200实现USB UVC

UVC的实现主要是参考SDK中《外围设备驱动 操作指南.pdf》的2.3.8章节,按照步骤提示操作应该很顺利能实现,发个帖子记录一下实现过程。

一.驱动模块编译

文档中主要提到了几个驱动模块,这5个模块在Linux内核中编译实现:
libcomposite.ko
usb_f_uvc.ko
u_audio.ko
usb_f_uac1.ko
usb_f_uac2.ko

1.首先进入Linux内核顶层目录,复制.config文件:

$ cd dopi/linux
$ cp arch/arm/configs/hi3516ev200_dopi_defconfig  .config

2.进入menuconfig菜单,勾选几项配置:

$ make ARCH=arm CROSS_COMPILE=arm-himix100-linux- menuconfig

PHY选项:
  Device Drivers ->
    PHY Subsystem ->
PHY%E9%80%89%E9%A1%B9.png

音频驱动选项:
Device Drivers ->
  <*> Sound card support ->
    <*> Advanced Linux Sound Architecture ->
      <*> USB sound devices ->
usb%20sound.png

USB Gadget选项:
Device Drivers ->
  <*> USB support ->
    <*> USB Gadget Support ->
USB%E9%80%89%E9%A1%B91.png
USB%E9%80%89%E9%A1%B92.png

退出并保存.config配置文件

编译内核:

$ make ARCH=arm CROSS_COMPILE=arm-himix100-linux- uImage

内核编译完成后,编译module模块:

$ make ARCH=arm CROSS_COMPILE=arm-himix100-linux- modules

完成后模块路径分别为:

drivers/usb/gadget/libcomposite.ko
drivers/usb/gadget/function/usb_f_uac2.ko
drivers/usb/gadget/function/usb_f_uac1.ko
drivers/usb/gadget/function/usb_f_uvc.ko
drivers/usb/gadget/function/u_audio.ko

把以上模块复制到板子文件目录/root/uvc_app下

二.编译应用程序

1.解压SDK包里面的mpp.tgz

$ cd Hi3516EV200_SDK_V1.0.1.0/package/
$ tar -vxzf mpp.tgz
$ cd mpp/

2.修改camera配置(针对使用gc2053摄像头,imx307可跳过)

$ cd sample
$ vim Makefile.param

修改

SENSOR0_TYPE = GALAXYCORE_GC2053_MIPI_2M_30FPS_10BIT

3.编译uvc_app应用程序

$ cd sample/uvc_app/
$ make

编译完成后生成uvc_appuvc_app.conf文件,把这两个文件也复制到板子的/root/uvc_app文件夹里。

三.添加配置脚本文件

在SDK包中进入目录Hi3516EV200R001C01SPC010/01.software/pc/usb_tools
解压usb_tools_linux.rar
ConfigUVC.shDisable_UVC.sh复制到板子目录/root/uvc_app下

四.板子上修改启动命令
$ vi /etc/init.d/rcS
#! /bin/sh

/bin/mount -a

echo "
            _ _ _ _ _ _ _ _ _ _ _ _
            \  _  _   _  _ _ ___
            / /__/ \ |_/
           / __   /  -  _ ___
          / /  / /  / /
  _ _ _ _/ /  /  \_/  \_ ______
___________\___\__________________
"
for initscript in /etc/init.d/S[0-9][0-9]*
do
	if [ -x $initscript ] ;
	then
		echo "[RCS]: $initscript"
		$initscript
	fi
done

hostname -F /etc/hostname

# ifconfig eth0 192.168.117.2 up
# route add default gw 192.168.117.1

cd /root/uvc_app
insmod libcomposite.ko
insmod usb_f_uvc.ko
insmod u_audio.ko
insmod usb_f_uac1.ko
insmod usb_f_uac2.ko
export VID="0x12d1"
export PID="0x4321"
export MANUFACTURER="Huawei"
export PRODUCT="HiCamera"
export SERIALNUMBER="12345678"
export YUV="360p"
export MJPEG="360p 720p 1080p"
export H264="360p 720p 1080p"
./ConfigUVC.sh

cd /ko
insmod g_ether.ko
/ko/load3516ev200 -i -sensor gc2053

#mkdir -p /root/app
#mount -t tmpfs -o size=5M app /root/app
#tar zxf /root/app.tgz -C /root/app/

/bin/stupid-ftpd
telnetd
ifconfig usb0 192.168.137.25 up
route add default gw 192.168.137.1
# sed -i "5c bind_address = \"192.168.137.25\"" /etc/config.hcl
# /bin/mDNS --config /etc/config.hcl >/dev/null 2>&1 &
# /root/display.sh 
# cat /root/rgb.565 >/dev/fb0 

#cd /root
#/root/wifi.sh 
#/root/dopi_rtsp 

cd /root/uvc_app
./uvc_app &
五.使用测试

1.新编译的内核固件烧录到板子上
2.USB接入电脑重启板子,电脑设备列表会出现UVC Camera设备

none_20200822-1329.png
打开ECap软件(或者其他类似软件),可获取到板子采集的图形
ECap.png
ECap1.png

离线

#2 2020-08-22 13:57:45

哇酷小二
管理员
注册时间: 2020-04-22
累计积分: 1,851

Re: DOPI EV200实现USB UVC

感谢楼主分享,请提供你的微信号或者收款码,或者麻烦加一下我的微信 whycan_cn

离线

#3 2020-08-22 14:23:51

codetez
会员
注册时间: 2020-05-23
累计积分: 31

Re: DOPI EV200实现USB UVC

感谢分享,楼主优秀。

这个帖子实现了一个USB相机,手上还没 DOPI 不能测试下。


不知道楼主是否研究过,DOPI EV200本身能接USB相机不?

离线

#4 2020-08-22 15:10:04

AWalker
会员
注册时间: 2020-08-11
累计积分: 10

Re: DOPI EV200实现USB UVC

codetez 说:

感谢分享,楼主优秀。

这个帖子实现了一个USB相机,手上还没 DOPI 不能测试下。


不知道楼主是否研究过,DOPI EV200本身能接USB相机不?

这个还没试过,我也是刚入坑,,,

离线

#5 2020-08-26 09:58:46

小智
会员
注册时间: 2019-10-16
累计积分: 86

Re: DOPI EV200实现USB UVC

太强了,爱了爱了

离线

#6 2020-11-01 17:03:51

Liuzhijun2008
会员
注册时间: 2020-10-29
累计积分: 2

Re: DOPI EV200实现USB UVC

支持 UVC 的属性面  亮度  对比度  增益  暴光  GAMA  调节吗?

离线

#7 2020-11-02 10:18:15

pkoko
会员
注册时间: 2020-04-29
累计积分: 16

Re: DOPI EV200实现USB UVC

支持,学习了

离线

#8 2020-11-29 17:52:24

Liuzhijun2008
会员
注册时间: 2020-10-29
累计积分: 2

Re: DOPI EV200实现USB UVC

楼主 在吗?用不起来呢!摄像头 能出来 但是没有显示图像 。 KO 出错   能否把你的 KO 发给我试试

离线

#9 2020-11-29 19:55:05

孤星泪
会员
注册时间: 2020-03-18
累计积分: 201

Re: DOPI EV200实现USB UVC

Liuzhijun2008 说:

楼主 在吗?用不起来呢!摄像头 能出来 但是没有显示图像 。 KO 出错   能否把你的 KO 发给我试试

用这种方式安装ko到根文件系统:
ARCH=arm CROSS_COMPILE=arm-linux- INSTALL_MOD_PATH=/opt/f1c100s/buildroot-2019.02.2/output/target/ make modules_install

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB