100ASK_V853-PRO开发板关于USB的host模式与devices模式问题

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功能正常传输文件