博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android otg 挂载流程,android USB OTG功能如何打开及实现
阅读量:6502 次
发布时间:2019-06-24

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

1、检查HW原理图,确认是否支持OTG功能(vbus是否供上电,IDDIG pin链接是否正确)

2、若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(包含)之后的版本(注意,这里的fstab文件若是[project]中没有,从common中拷贝一个过来对应修改便可):

修改alps/mediatek/config/[project]/fstab

/devices/platform/mt_usb auto vfat  defaults voldmanaged=usbotg:auto

3).storage_list.xml添加以下一个xml节点

对于KK之前的版本:

android:storageDescription="@string/storage_external_usb"

android:removable="true"

android:primary="false" />

对于KK(包含)之后的版本:

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

[Attention]

目前USB OTG功能只支持U盘(FAT格式+一个分区)、Keyboard、Mouse、PTP device

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!但愿你也加入到咱们人工智能的队伍中来!https://blog.csdn.net/jiangjunshowhtml

你可能感兴趣的文章
ES6转换为ES5
查看>>
京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)
查看>>
java怎么删除创建的类_一个java创建,删除,构建Jenkins等功能的JenkinsUtil工具类...
查看>>
编程java梦想数_JAVA基础总结
查看>>
java初始化重排_JAVA并发环境下指令重排带来的问题
查看>>
java connection 共享_【java項目實戰】ThreadLocal封裝Connection,實現同一線程共享資源...
查看>>
java中锁的等级_深入浅出!对象级别锁 vs 类级别锁 – Java
查看>>
php 5.4 memcache,linux下php5.4添加memcache扩展
查看>>
php session作用,session的作用是什么
查看>>
php 两行数据合并,PHP如何实现统计数据合并
查看>>
java国外研究综述,国内外研究现状_毕业论文
查看>>
php执行事务,thinkPHP框架中执行事务的方法示例
查看>>
php 两个值比较大小写,php比较两个字符串(大小写敏感)的函数strcmp()
查看>>
java3d获取模型在xoy平面的投影,将3D世界点投影到新视图图像平面
查看>>
php 修改图片src,jq修改src图片地址 .attr is not a function
查看>>
sudo php 无法打开,从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”...
查看>>
Microsoft dotnetConf 2015 一些整理
查看>>
在Android Studio中使用shareSDK进行社会化分享(图文教程)
查看>>
转载:APP的上线和推广——线上推广渠道
查看>>
******IT公司面试题汇总+优秀技术博客汇总
查看>>