android USB OTG功能實現

2021-09-09 07:00:35 字數 4561 閱讀 8160

一、檢查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以前的版本:

對於kk(包含)以後的版本:

備註:具體修改哪個路徑下的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           

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

一、檢查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以前的版本:

對於kk(包含)以後的版本:

備註:具體修改哪個路徑下的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           

android USB OTG功能實現

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!一 檢查hw原理圖,確認是否支援otg功能 vbus是否供上電,iddig pin連線是否正確 二 若hw確認支援otg功能,則按照以下方法分別開啟usb otg功能及實現掛載 如何開啟usb otg功能 1 在alps mediatek conf...

ORACLE功能GREATEST功能說明具體例項

1語法 greatest expr 1,expr 2,expr n 2說明greatest expr 1,expr 2,expr n 函式從表示式 列 常量 計算值 expr 1,expr 2,expr n 等中找出最大的數返回。在比較時。oracie 會自己主動按表示式的資料型別進行比較,以 ex...

CUDA功能和通用功能

cuda功能和通用功能 本文描述了類似於cuda ufunc的物件。為了支援cuda程式的程式設計模式,cuda vectorize和guvectorize無法產生常規的ufunc。而是返回類似ufunc的物件。該物件是乙個近似的物件,但與常規的numpy ufunc不完全相容。cuda ufunc...