博客
关于我
31全志r58平台Android4.4.2下打开USB摄像头
阅读量:211 次
发布时间:2019-02-28

本文共 3080 字,大约阅读时间需要 10 分钟。

Android 4.4.2 系统下 USB 摄像头驱动配置与使用说明

在 Android 4.4.2 系统下配置并使用 USB 摄像头可能会遇到一些问题。本文将详细介绍解决方案和相关配置步骤。

一、系统编译与依赖为了确保 USB 摄像头驱动正常工作,需要先编译系统并安装相关依赖项。以下是需要注意的版本信息:

  • Android 系统版本:4.4.2
  • 硬件平台:Softwinner SC5806
  • 相关工具:Linux Kernel 3.4.43(适用于 Softwinner 平台)
  • 二、需要修改的文件在配置过程中,以下文件需要重点关注:

  • W:\r58_android_v4.4\android\device\softwinner\octopus-common\hardware\camera\V4L2CameraDevice2.cpp
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\configs\camera.cfg
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\configs\media_profiles.xml
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\BoardConfig.mk
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\init.sun8i.rc
  • W:\r58_android_v4.4\lichee\linux-3.4.config
  • 三、代码修改说明在 V4L2CameraDevice2.cpp 文件中,主要修改了以下部分:

  • 模块初始化与连接设备
  • Mutex::Autolock locker(&mObjectLock);if (isConnected()) {    LOGW("%s: camera device is already connected.", __FUNCTION__);    return NO_ERROR;}// open v4l2 camera deviceint ret = openCameraDev(halInfo);if (ret != OK) {    return ret;}// get sensor type from driverswitch((v4l2_sensor_type)getSensorType()) {case V4L2_SENSOR_TYPE_YUV:    LOGV("the sensor is YUV sensor");    mSensor_Type = V4L2_SENSOR_TYPE_YUV;    break;case V4L2_SENSOR_TYPE_RAW:    LOGV("the sensor is RAW sensor");    mSensor_Type = V4L2_SENSOR_TYPE_RAW;    break;default:    if(mIsUsbCamera) {        LOGV("the sensor is UVC sensor wyb add 2018/10/26 13:58");        mSensor_Type = V4L2_SENSOR_TYPE_YUV;    } else {        LOGE("get the sensor type failed wyb add 2018/10/26 14:59");        goto END_ERROR;    }    break;}halInfo->fast_picture_mode = (int)mSensor_Type;memcpy((void*)&mHalCameraInfo, (void*)halInfo, sizeof(HALCameraInfo));
    1. 图像处理功能
    2. // 主图像裁剪calculateCrop(&mRectCrop, mNewZoom, mMaxZoom, mFrameWidth/2, mFrameHeight/2);// 子图像裁剪(仅在快拍模式下)if (mHalCameraInfo.fast_picture_mode) {    calculateCrop(&mThumbRectCrop, mNewZoom, mMaxZoom, mThumbWidth, mThumbHeight);}

      三、配置文件修改在 camera.cfg 文件中,需要调整以下参数:

    3. exif 信息配置
    4. key_camera_exif_make = MAKE_AllWinnerkey_camera_exif_model = MODEL_f1
      1. 摄像头配置
      2. camera_id = 0camera_facing = 0use_builtin_isp = 0camera_orientation = 90camera_device = /dev/video0

        三、驱动加载与测试在 BoardConfig.mk 文件中,需要加载以下驱动:

        # gpuinsmod /system/vendor/modules/pvrsrvkm.koinsmod /system/vendor/modules/dc_sunxi.ko# csi moduleinsmod /system/vendor/modules/videobuf-core.koinsmod /system/vendor/modules/videobuf-dma-contig.koinsmod /system/vendor/modules/cci.koinsmod /system/vendor/modules/actuator.koinsmod /system/vendor/modules/vfe_os.koinsmod /system/vendor/modules/vfe_subdev.koinsmod /system/vendor/modules/dw9714_act.koinsmod /system/vendor/modules/hi253.koinsmod /system/vendor/modules/ov8858_4lane.koinsmod /system/vendor/modules/vfe_v4l2.ko# usb module / UVCinsmod /system/vendor/modules/videobuf2-core.koinsmod /system/vendor/modules/videobuf2-memops.koinsmod /system/vendor/modules/videobuf2-vmalloc.koinsmod /system/vendor/modules/uvcvideo.ko

        四、开发调试在开发过程中需要注意以下几点:

      3. 确保所有驱动版本与系统版本匹配
      4. 配置文件中参数需与硬件实际情况一致
      5. 可能需要手动测试不同分辨率下的摄像头性能
      6. 注意电源管理配置
      7. 定期检查日志信息,及时解决问题
      8. 通过以上配置和修改,可以在 Android 4.4.2 系统下正常使用 USB 摄像头功能。如有特殊问题,请根据日志信息逐步排查并调整相应配置。

    转载地址:http://ygdp.baihongyu.com/

    你可能感兴趣的文章
    php模板引擎smarty
    查看>>
    php正则表达式模式
    查看>>
    php正则表达式的特殊字符含义
    查看>>
    PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
    查看>>
    RabbitMQ + JMeter组合,优化你的中间件处理方式!
    查看>>
    PHP水仙花问题解法之一
    查看>>
    php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
    查看>>
    php注册页面实现注册后跳转页面
    查看>>
    PHP消息队列的实现方式与详解,值得一看
    查看>>
    PHP混合Go协程并发
    查看>>
    php源码中如何添加滚动公告,给WordPress网站添加滚动公告的方法
    查看>>
    PHP源码安装后如何新增模块
    查看>>
    php漏洞tips
    查看>>
    php版Zencoding之 phpstorm
    查看>>
    PHP版本升级5.4手记
    查看>>
    php版本微信公众号开发
    查看>>
    php生成html文件的多种方法介绍
    查看>>
    php生成二维码到图片上
    查看>>
    php生成二维码并下载图片(适应于框架)
    查看>>
    PHP生成及获取JSON文件的方法
    查看>>