如何通过USB连接到主机
1. 一个 嵌入式产品中的某个存储设备,或是一个存储设备的某个分区,可以作为一个U盘被PC识别; 2. 一个嵌入式设备通过USB连接到PC后,在PC端会出现一个新的 网络连接,在嵌入式设备上也会有一个网卡设备,你可以配置它们的IP地址,并进行网络通讯,俗称USBNET。
本文将借助 飞凌嵌入式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功能,实现网络共享。
如何在Linux上使用Docker构建高可用的分布式文件存储系统? 摘要:本文介绍了如何使用Docker构建一个高可用的分布式文件存储系统。我们将使用GlusterFS作为文件系统,并使用Docker容器将其部署在多个节点上实现高可用。 简介在构建一个高可用的分布式文件存储系统之前,我们需要了解一些相应的概念和技术。GlusterFS是一个强大、可扩展、分布式的文件系统,它可以将多台计算机上的存储
win10系统中有不少实用的小功能,很多用户都不知道,例如现在要说的颜色滤镜。为了帮助有视觉问题的用户,微软专门开发了颜色滤镜功能,可以用来更改屏幕上的调色板,帮助视觉问题用户能够看清屏幕内容,辨别事物。那么要如何开启这个功能呢?下面小编就跟大家介绍一下Win10颜色滤镜功能的开启方法。 详细如下: 1、首先点击开始菜单—设置选项;
系统运维
2023-06-09
醒在深海的猫
(图片来源网络,侵删)CentOS是一种基于Linux的操作系统,它是由Red Hat Enterprise Linux(RHEL)源代码克隆而来的。CentOS是一款稳定、可靠且安全的操作系统,广泛用于服务器和企业级应用程序。 命令行是一种在操作系统中通过键盘输入命令的方式进行操作的界面。在CentOS中,通过命令行可以进行各种系统配置和管理任务,包括网络配置。 (图片来源网络,侵删)在Cent
(图片来源网络,侵删) 前言 LINUX作为一种开源的操作系统,由于其安全性高、免费、稳定等特点,越来越受到人们的青睐。CentOS作为一种LINUX发行版,其稳定性和安全性得到了广泛认可。相比于Debian系列的操作系统,CentOS缺少了APT这一强大的软件包管理工具,导致软件包的安装和升级变得不够方便。本文将介绍如何在CentOS 6.5上安装APT,并详细讲解安装过程中需要注意的细节。 安
安装Win10专业版无法识别固态硬盘怎么解决?不知道大家有没有遇到这种情况,要给自己的联想电脑新装固态硬盘,想安装Win10专业版新系统到新固态硬盘里,但是在选择安装的硬盘时,却怎么也找不到固态硬盘,这是什么原因呢?下面由小编为大家带来解决方法介绍,一起来看看吧! 原因分析: 一些联想笔记本出厂的BIOS中,SATA Controller Mode默认设置的是为Intel RST Pr