0.前言
由于很多学员想在开发板使用过程中切换USB的主从模式,进行如:device模式做adb传输功能;host模式连接USB摄像头。
注意:本次修改主要针对100ASK_V853-PRO Base V1.1版本的开发板
1.更改开发板的硬件电路
在开始前,我们需要对硬件进行一定的修改。我们需要将下图中红色箭头所指的电阻R5/R14/R149/R150都手动去掉,以及去掉芯片U2。
这几个电阻和芯片在电路图中的表示如下所所示:
硬件修改后的示意图:
放大图如下所示:
修改完成后,安装核心板,连接12V电源接口与串口数据线
3.切换开发板USB的host和devices模式
使用MobaXterm打开串口终端,进入串口终端查看当USB口状态
root@TinaLinux:/# cat /sys/devices/platform/soc/usbc0/otg_role
null
可以看到当前状态为null
3.1 切换host模式
下面我们将usb切换为host模式,首先将PE17引脚拉高,输入如下内容:
echo 145 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio145/direction
echo 1 > /sys/class/gpio/gpio145/value
切换usb状态为host状态,输入
cat /sys/devices/platform/soc/usbc0/usb_host
切换完成后插入u盘即可正常识别USB设备
切换devices模式
注意:如果你在前面以及输入下面这两句请不要重复输入
echo 145 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio145/direction
下面我们将usb切换为devices模式,首先将PE17引脚拉低,输入如下内容:
echo 145 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio145/direction
echo 0 > /sys/class/gpio/gpio145/value
切换usb状态为device状态,输入
cat /sys/devices/platform/soc/usbc0/usb_device
切换完成即可正常使用ADB功能正常传输文件