天天看点

HI3518EV300配置成USB摄像头 既UVC/UAC功能

现在用的是3518EV300,SDK版本是LINUX版本的Hi3516E V200R001C01SPC011,不过在开发过程中发现这个版本没有UVC配置的相关文档说明,UVC摄像头是有人已经做出来的,说明这个芯片应该支持UVC功能,没有文档说明就很奇怪,于是到更高版本的SDK的设备驱动开发说明文档找到了配置过程说明。

首先编译SDK中的UVC例程,按照里面的说明步骤把音频选上,交叉编译ALSA库,编译好例程。

HI3518EV300配置成USB摄像头 既UVC/UAC功能

然后按照文档配置好内核驱动,注意有驱动必须编译到内核,不能使用模块,反正我是全部编进去了。

HI3518EV300配置成USB摄像头 既UVC/UAC功能
HI3518EV300配置成USB摄像头 既UVC/UAC功能
HI3518EV300配置成USB摄像头 既UVC/UAC功能
HI3518EV300配置成USB摄像头 既UVC/UAC功能

接着把相应的例程、头文件和库文件、配置脚本文件放到板子对应的目录中,上电加载KO脚本,驱动配置没问题的话,板子插到电脑就能被电脑识别到,在系统设备端口会有相应设备节点。执行例程,使用amcap工具就能播放视频了。

HI3518EV300配置成USB摄像头 既UVC/UAC功能

我这个版本的内核有一些驱动选项是没有的,但是新版本的SDK有,又不知道该配什么驱动后才会出来,于是在新版本SDK配好后,把.config文件拷贝到我的版本中,这时全部选项就出来了

有一点需要注意:在调试的时候,串口打印太多好像会影响设备的识别,具体原因不太清楚。。。。

弄好uboot,kernel,fs,app,放到板子发现音频延迟1-2秒,不管怎么调,怎么拉时间戳,这个延迟都没改变,后面问技术支持才知道HI3815EV300 Linux下的USB设备都存在这问题。后面经过技术支持的协助做了配置修改,音频延迟在200ms以内,基本没有问题了。同时把YUV720P,默认MJPEG1080输出做了修改

继续阅读