博客
关于我
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/

    你可能感兴趣的文章
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>
    Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    Openlayers:DMS-DD坐标形式互相转换
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenLDAP编译安装及配置
    查看>>
    Openmax IL (二)Android多媒体编解码Component
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>