RK3568 usb gadget功能配置
文章目录
- 1、前言
- 2、目标
- 3、USB RNDIS
- 3.1、内核配置
- 3.2、功能测试
- 4、USB UMS
- 4.1、内核配置
- 4.2、功能测试
1、前言
硬件:飞凌ok3568-c开发板
软件:原厂rk356x sdk
2、目标
本文主要介绍如何配置usb rndis和usb ums两种功能。
3、USB RNDIS
USB RNDIS是一种通过USB实现网络通信的协议。Windows/Linux主机可以通过USB与嵌入式设备进行网络通信。
3.1、内核配置
-> Device Drivers │-> USB support │-> USB Gadget Support │[*] USB Gadget functions configurable through configfs[*] Ethernet Control Model (CDC ECM)[*] Ethernet Control Model (CDC ECM) subset[*] RNDIS[*] Ethernet Emulation Model (EEM)[*] Function filesystem (FunctionFS)
3.2、功能测试
先将你的usb切换成otg模式,并用一个usb线连接到你的电脑主机:
# 这是手动切换,如果你的硬件不能自动切换
echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
执行如下命令配置rndis功能:
echo usb_rndis_en > /etc/init.d/.usb_config
执行如下命令应用功能:
/usr/bin/usbdevice restart
应用成功后,ifconfig会出现一个新的网络节点:
给usb0配置ip:
ifconfig usb0 192.168.100.100
如果是你的电脑主机是windows系统,在网络适配器里会看到多出一个网卡,这个就是板卡通过usb虚拟出来的:
可以在windows下自行设置该网卡的ip,保证和刚刚在板卡里设置usb0的ip处于同一网段,即可实现电脑和板卡的网络通信。
4、USB UMS
USB UMS(USB Mass Storage,USB大容量存储)是一种通过USB接口将存储设备导出为U盘或移动硬盘的标准协议,广泛用于嵌入式系统、开发板和移动设备,使其可以通过 USB 被其他主机识别为标准存储设备。
4.1、内核配置
-> Device Drivers │-> USB support │-> USB Gadget Support │[*] USB Gadget functions configurable through configfs[*] Mass storage
4.2、功能测试
先将你的usb切换成otg模式,并用一个usb线连接到你的电脑主机:
# 这是手动切换,如果你的硬件不能自动切换
echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode
配置ums功能:
echo usb_ums_en > /etc/init.d/.usb_config
echo "ums_block=/rk3568.img" >> /etc/init.d/.usb_config
echo "ums_block_size=8" >> /etc/init.d/.usb_config
echo "ums_block_type=fat" >> /etc/init.d/.usb_config
echo "ums_block_auto_mount=on" >> /etc/init.d/.usb_config/usr/bin/usbdevice restart
此时,电脑端已经可以看到u盘:
可以往u盘里写入文件。
板卡可以通过挂载rk3568.img查看u盘里的文件。挂载前,windows先卸载u盘。