• android USB OTG功能实现


    一个、检查HW概要,确认是否支持OTG特征(vbus无论是动力,IDDIG pin连接是否正确)
    两、如果HW确认支持OTG特征,然后根据以下方法被打开USB OTG功能及实现山:
    如何打开USB OTG特征:
    1).于alps/mediatek/config/[project]/autoconfig/kconfig/project中打开CONFIG_USB_MTK_OTG和CONFIG_USB_MTK_HDRC_HCD
    CONFIG_USB_MTK_OTG =y
    CONFIG_USB_MTK_HDRC_HCD = y
    2).在dws中设定OTG VBUS相应的输出控制pin配置为GPIO模式。var name为GPIO_OTG_DRVVBUS_PIN。再设定IDDIG pin默认模式为IDDIG,var name为GPIO_OTG_IDDIG_EINT_PIN
    怎样实现挂载:
    1).alps/mediatek/config/[project]/init.project.rc起始位置处加入例如以下内容
    对于KK曾经的版本号:
    on early-init
        mkdir /mnt/usbotg 0000 system system
    对于KK(包括)以后的版本号:
    #须要特别注意的是,这里是要另外加入on init,不是加在on early-init:
    on init
        mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw
        mkdir /storage/usbotg 0700 root root
    ...
    #service加在on boot:
    on boot
    service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/usbotg /storage/usbotg
        class late_start
        disabled
    #
    # Connectivity related services (Begin)
    #
    2).fstab文件末尾加入例如以下一行
    对于KK曾经的版本号:
    改动alps/mediatek/config/[project]/vold.fstab
    dev_mount usbotg /mnt/usbotg auto /devices/platform/mt_usb
    对于KK(包括)以后的版本号:
    改动alps/mediatek/config/[project]/fstab
    /devices/platform/mt_usb auto vfat  defaults voldmanaged=usbotg:auto
    3).storage_list.xml加入例如以下一个xml节点
    对于KK曾经的版本号:
    <storage android:mountPoint="/mnt/usbotg"
           android:storageDescription="@string/storage_external_usb"
           android:removable="true"
           android:primary="false" />
    对于KK(包括)以后的版本号:
    <storage android:mountPoint="/storage/usbotg"
           android:storageDescription="@string/storage_external_usb"
           android:removable="true"
           android:primary="false" />
    备注:详细改动哪个路径下的storage_list.xml文件,须要依据ProjectConfig.mk中的resource_overlay_support的值来定
    对于JB3下面版本号,
    假设RESOURCE_OVERLAY_SUPPORT的值为generic  ==>>  则改动alps/mediatek/custom/[project]/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml
    假设RESOURCE_OVERLAY_SUPPORT的值为空  ==>> 则改动alps/framework/base/core/res/res/xml/storage_list.xml
    对于JB3(包括)以上版本号,RESOURCE_OVERLAY_SUPPORT的值可依据须要配置为sd_in_ex_otg或sd_ex_otg。则无需再改动该文件
    sd_in_ex_otg或sd_ex_otg分别表示内卡+外卡+otg或外卡+otg
    相应文件分别在alps/mediatek/custom/common/sd_in_ex_otg/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml或alps/mediatek/custom/common/sd_ex_otg/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml


    眼下USB OTG功能仅仅支持U盘(FAT格公式+分区)、Keyboard、Mouse、PTP device

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    scrollView(3)-相册浏览简单的缩放
    ScrollView(2)轮播图-点击跳转
    定制单元格-cell
    模态视图present
    将博客搬至CSDN
    VBS进行http请求及JSON数据的读取和生成
    igraph安装(R/Python)
    teiid入门
    漫谈设计模式
    MapReduce实例-基于内容的推荐(一)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4712799.html
Copyright © 2020-2023  润新知