原创 如何在瑞芯微RK3568开发板上实现USBNET

2023-9-18 16:36 113 0 分类: MCU/ 嵌入式
本文将借助飞凌嵌入式OK3568-C开发板为大家介绍实现USBNET模式的方法,在这之前需要先知道什么是USB Gadget——USB Gadget是指所开发的电子设备以USB从设备的模式通过USB连接到主机。举个例子:将手机通过USB线插入PC后,手机就是USB Gadget。同理,在本文的操作中就是将手机替换成了OK3568-C开发板。

Gadget框架提出了一套标准API,在底层,USB设备控制器(UDC) 驱动则实现这一套API,不同的UDC(通常是SoC的一部分)
需要不同的驱动, 甚至基于同样的UDC的不同板卡也需要对代码进行修改。我们想要实现USBNET也需要驱动,它的名字叫做RNDIS。RNDIS驱动在内核中是存在的,只需要找到配置项并编译进内核即可。首先进入源码kernel目录,进入menuconfig图形配置界面:

进入menuconfig时需要指定环境,不然直接执行make
menuconfig进入的图形配置界面为X86架构。如下图进入的为ARM架构是正确的图形配置界面:

按 /,可以进入搜索界面:

图片

直接搜索rndis,找到写有USB Gadget字样的目录,可以看到有多个路径,可以直接进入USB Gadget目录下去看,那个就是配置RNDIS的选项。

图片

经过寻找最终路径如下图所示:

图片

将RNDIS驱动开启,并选中一些网络协议配置,如下图圈中所示:

图片

找到USB Gadget precomposed configurations,将RNDIS编译进内核(如果选择编译成模块,单独编译内核不会生成 .ko文件,为了省去繁琐挂载步骤,本篇就将RNDIS编译进内核)。

图片

配置完成,选择Exit按键直到退出,“是否保存”选择yes即可:

图片

  
返回源码目录进入build.sh脚本,注释掉defconfig生成.config文件的命令,使menuconfig配置生效,注释位置如下:

图片

保存退出,单独编译内核,在源码目录下执行./build.sh kernel。编译完成之后会在kernel目录下生成boot.img文件。

图片


 
单步更新镜像使用瑞芯微官方提供的烧写工具——RKDevTool。按住Recovery键按Reset,直到烧写工具显示发现一个LOADER设备后松开Recovery键。

图片

替换图中位置,点击设备分区表,完成后,点击执行,设备重启后,即为烧录完成,右侧也会有烧录进度。开发板重启后,ifconfig -a查看可以看到生成usb0节点。

图片

利用Linux USB Gadget设备驱动可以实现一些比较有意思的功能:

1. 一个嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC识别;

2. 一个嵌入式设备通过USB连接到PC后,在PC端会出现一个新的网络连接,在嵌入式设备上也会有一个网卡设备,你可以配置它们的IP地址,并进行网络通讯,俗称USBNET。

此次使用的是USB3.0接口,因此需要detect激活Type-C 5V转3.3V Type-A,硬件改动为p40的pin1连接c23的正极。将播码开关拨至ON,插入双公头USB线;

强制使USB输出为device

echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode

打印信息如图所示:

图片

可以在设备管理器网络适配器上看到这个节点,配置一个IP

图片

查看网络连接可以看到一个未识别网络,将这个也配置上IP,注意需要跟OK3568-C开发板配置的IP在同一网段:

图片

   

使用OK3568-C开发板去ping刚才电脑配置的IP,发现可以ping通。

图片

通过以上信息可以看出,OK3568-C开发板已实现USBNET功能,实现网络共享。

文章评论0条评论)

登录后参与讨论
相关推荐阅读
祢豆子 2023-09-11 15:17
在i.MX8MP开发板上实现SPI转CAN
飞凌嵌入式OKMX8MP-C开发板有两路原生CAN总线,但用户在开发产品时可能需要用到更多的CAN,这该如何解决呢?今天小编将为大家介绍一种SPI转CAN的方法,供各位工程师小伙伴参考。说明OKMX8...
祢豆子 2023-08-29 10:27
iMX6 Android系统下常见问题解决思路
本文以飞凌嵌入式OKMX6Q/DL平台为基础讲解,其它iMX6 平台可参考使用,通过本文您可以了解iMX6 Android系统下一些问题的处理思路,希望可以协助客户加速产品的研发速度。第一章...
祢豆子 2023-08-19 13:55
飞凌嵌入式邀您共聚2023深圳嵌入式展
...
祢豆子 2023-08-14 16:27
国产平台大盘点之龙芯、赛昉系列
龙芯中科 × 飞凌嵌入式 龙芯中科始终致力于打造自主开放的软硬件生态和信息产业体系,今年6月,飞凌嵌入式与龙芯中科强强联手,共同推出了FET-2K0500-C核心板!​编辑切换为居中添加图片注释...
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /3 下一条