首页 > 技术知识 > 正文

1,查看当前板子硬件图

EB-SS928 UVC调试-uv-9000s怎么用

找到J11对应的原理图

EB-SS928 UVC调试-uv-9000s怎么用1

通过硬件手册确定复用关系

EB-SS928 UVC调试-uv-9000s怎么用2

查看相关寄存器功能描述

EB-SS928 UVC调试-uv-9000s怎么用3EB-SS928 UVC调试-uv-9000s怎么用4

USB3.0-HOST 0x1030_0000

USB3.0-DRD 0x1032_0000

Offset Address: 0xC110

PERI_USB3_GCTL 2’b10 Device 2,确定编译配置文件

EB-SS928 UVC调试-uv-9000s怎么用5以及menuconfig 的UVC配置项是否有开

按<手册UAC开发参考.pdf> 配置并编译好系统。

3,修改系统配置文件

vi /etc/profile

export VID=“0x1234”export PID=“0x0001”export MANUFACTURER=“Xxxx”export PRODUCT=“Camera”export SERIALNUMBER=“12345678”export YUV=“360p”export MJPEG=“360p 720p 1080p”export H264=“360p 720p 1080p” 4,执行脚本

ConfigUVC.sh

#!/bin/shsetex ####################################################### set_resolution() fill resoluton# $1 formats# $2 base_path# $3 0 or 1: means need fill dwMaxVideoFrameBufferSize# $4 format name string#######################################################function set_resolution(){for i in $1do echo “$i”case $i in“360p”) mkdir $2/360p/ echo e “333333”> $2/360p/dwFrameInterval echo “333333”> $2/360p/dwDefaultFrameInterval echo “29491200”> $2/360p/dwMaxBitRateif[ $3 eq 1]; then echo “460800”> $2/360p/dwMaxVideoFrameBufferSize fi echo “29491200”> $2/360p/dwMinBitRate echo “360”> $2/360p/wHeight echo “640”> $2/360p/wWidth;;“720p”) mkdir $2/720p/ echo e “333333”> $2/720p/dwFrameInterval echo “333333”> $2/720p/dwDefaultFrameInterval echo “29491200”> $2/720p/dwMaxBitRateif[ $3 eq 1]; then echo “1843200”> $2/720p/dwMaxVideoFrameBufferSize fi echo “29491200”> $2/720p/dwMinBitRate echo “720”> $2/720p/wHeight echo “1280”> $2/720p/wWidth;;“1080p”) mkdir $2/1080p/ echo e “333333”> $2/1080p/dwFrameInterval echo “333333”> $2/1080p/dwDefaultFrameInterval echo “29491200”> $2/1080p/dwMaxBitRateif[ $3 eq 1]; then echo “4147200”> $2/1080p/dwMaxVideoFrameBufferSize fi echo “29491200”> $2/1080p/dwMinBitRate echo “1080”> $2/1080p/wHeight echo “1920”> $2/1080p/wWidth;;“2160p”) mkdir $2/2160p/ echo e “333333”> $2/2160p/dwFrameInterval echo “333333”> $2/2160p/dwDefaultFrameInterval echo “29491200”> $2/2160p/dwMaxBitRateif[ $3 eq 1]; then echo “16588800”> $2/2160p/dwMaxVideoFrameBufferSize fi echo “29491200”> $2/2160p/dwMinBitRate echo “2160”> $2/2160p/wHeight echo “3840”> $2/2160p/wWidth;;*) echo “$4 $i is invalid!”;; esac done}####################################################### set_format() fill format# no argument#######################################################function set_format(){#YUVif[n “$YUYV”]; then echo “Add YUYV…” mkdir streaming/uncompressed/yuy2/ echo en “\x59\x55\x59\x32\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71”> streaming/uncompressed/yuy2/guidFormat echo 16> streaming/uncompressed/yuy2/bBitsPerPixel set_resolution “$YUYV” streaming/uncompressed/yuy2/1“YUYV” ln s streaming/uncompressed/yuy2/ streaming/header/h/ echo e “Added YUYV\n” fi#NV21if[n “$NV21”]; then echo “Add NV21…” mkdir streaming/uncompressed/nv21/ echo en “\x4E\x56\x32\x31\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71”> streaming/uncompressed/nv21/guidFormat echo 12> streaming/uncompressed/nv21/bBitsPerPixel set_resolution “$NV21” streaming/uncompressed/nv21/1“NV21” ln s streaming/uncompressed/nv21/ streaming/header/h/ echo e “Added NV21\n” fi#NV12if[n “$NV12”]; then echo “Add NV12…” mkdir streaming/uncompressed/nv12/ echo en “\x4E\x56\x31\x32\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71”> streaming/uncompressed/nv12/guidFormat echo 12> streaming/uncompressed/nv12/bBitsPerPixel set_resolution “$NV12” streaming/uncompressed/nv12/1“NV12” ln s streaming/uncompressed/nv12/ streaming/header/h/ echo e “Added NV12\n” fi#MJPEGif[n “$MJPEG”]; then echo “Add MJPEG…” mkdir streaming/mjpeg/m/ set_resolution “$MJPEG” streaming/mjpeg/m/1“MJPEG” ln s streaming/mjpeg/m/ streaming/header/h/ echo e “Added MJPEG\n” fi#H264if[n “$H264”]; then echo “Add H264…” mkdir streaming/framebased/h264/ echo en “\x48\x32\x36\x34\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71”> streaming/framebased/h264/guidFormat set_resolution “$H264” streaming/framebased/h264/0“H264” ln s streaming/framebased/h264/ streaming/header/h/ echo e “Added H264\n” fi#HEVC aka H265if[n “$H265”]; then echo “Add HEVC(H265)…” mkdir streaming/framebased/h265/ echo en “\x48\x32\x36\x35\x00\x00\x10\x00\x80\x00\x00\xaa\x00\x38\x9b\x71”> streaming/framebased/h265/guidFormat set_resolution “$H265” streaming/framebased/h265/0“HEVC(H265)” ln s streaming/framebased/h265/ streaming/header/h/ echo e “Added HEVC(H265)\n” fi}mount t configfs none /sys/kernel/config/cd /sys/kernel/config/usb_gadget/mkdir cameracd cameraecho “0x01”> bDeviceProtocolecho “0x02”> bDeviceSubClassecho “0xEF”> bDeviceClassecho $VID > idVendorecho $PID > idProductmkdir strings/0x409echo $MANUFACTURER > strings/0x409/manufacturerecho $PRODUCT > strings/0x409/productecho $SERIALNUMBER > strings/0x409/serialnumbermkdir functions/uvc.usb0cd functions/uvc.usb0mkdir control/header/h/echo “0x0110”> control/header/h/bcdUVCecho “48000000”> control/header/h/dwClockFrequencyln s control/header/h/ control/class/fs/ln s control/header/h/ control/class/ss/cat <<EOF> control/terminal/camera/default/bmControls$CamControl1$CamControl2$CamControl3EOFcat <<EOF> control/processing/default/bmControls$ProcControl1$ProcControl2EOFmkdir streaming/header/h/set_formatln s streaming/header/h/ streaming/class/fs/ln s streaming/header/h/ streaming/class/hs/ln s streaming/header/h/ streaming/class/ss/#-Create and setup configurationcd ../../mkdir functions/uac1.usb0mkdir configs/c.1/echo “0x01”> configs/c.1/MaxPowerecho “0xc0”> configs/c.1/bmAttributesmkdir configs/c.1/strings/0x409/echo “Config 1”> configs/c.1/strings/0x409/configurationln s functions/uvc.usb0/ configs/c.1/ln s functions/uac1.usb0/ configs/c.1/echo “$(ls /sys/class/udc)”> UDC
<

创建/dev/video0文件节点

5,执行sample_uvc6,使用Win10自带软件或AMCap

相机-点击切换

EB-SS928 UVC调试-uv-9000s怎么用6EB-SS928 UVC调试-uv-9000s怎么用7

7,注意:

其它问题看:https://www.ebaina.com/ask/100000050095

EB-SS928,使用3段式耳机,用一般手机通过的四段耳机无法录到声音。

EB-SS928 UVC调试-uv-9000s怎么用8

猜你喜欢