你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用USB虚拟网线(USB Ethernet gadget)直连STM32MP1和Windows PC

[复制链接]
STMCU-管管 发布时间:2019-10-16 14:47
在之前发布的<<零基础快速上手STM32MP1>>一文中,我们获悉了如何借助STM32CubeProgrammer,轻松将STM32MP1开发板跑起来。在STM32MP1开发板跑起来之后,我们相当于有了一台微型嵌入式PC,可以支持多种交互方式,例如接入鼠标、键盘、串口终端、以太网、支持HDMI的投影仪以及电视机等等。

, Y  ^; z5 L$ q' k& u
但是,有个问题,对于开发人员,有没有高效、简洁的方法来在Windows和STM32MP1之间建立TCP/IP连接?例如,如果我们已经在Windows上编译出了Cortex-M4固件,或者自己编写了一些python脚本,那么我们如何方便的将这些文件复制到STM32MP1上进行调试呢?使用U盘,肯定没有问题,但需要U盘拔来拔去;使用以太网接口,也没有问题。现在我们介绍一种基于USB物理线缆的以太网连接。

' J% J2 {6 `  O+ Q9 o( a, O
只需要一根USB线,复用之前的DFU固件下载接口,我们将Windows主机与STM32MP1连接起来构成TCP/IP网络。本文介绍了基于STM32MP1的便捷网络配置,能够提高开发STM32MP1的工作效率。无论你是否拥有Linux环境,也无论你是否拥有Linux开发经验,本文都适合你阅读。

) G* Q6 A7 b* G8 e
STM32MP157C-DK2
开发板环境简介

8 K- X+ M/ G% Z! @
本文案例使用STM32MP157C-DK2开发板。如果你手中的是其他类型的STM32MP1官方开发板,例如STM32MP157C-EV1,USB Ethernet gadget操作并没有什么不同。
ethernet gadget的USB接口就是在DFU模式用来下载固件的USB接口(如下图右侧)。
11.jpg
# m# i* m& \9 Z. F
本文同时认为你已经按照<<零基础快速上手STM32MP1>>所介绍的方法,正常烧录了STM32MP1 Starter 开发包,并启动了开发板如下:
22.jpg
USB ethernet gadget在STM32MP1上的配置
Windows串口终端的配置

5 P0 k' K2 L; u- Y# |% z
如果你使用Teraterm,选择newconnection,端口会自动显示。直接选择就可以了,如下图示。
. V' }8 }6 g- s5 S) C( |. L
33.jpg
3 V8 [' j  S, B+ q
在setup->Serial port…中选择波特率设置如下:
0 d" J* j1 U2 v9 T- U( z1 }
44.jpg

2 Z  `% R7 B2 Q8 O
显示ethernet gadget的配置
, R8 I+ {: N: @' J4 ]
在串口终端敲入ifconfig命令,我们可以看到开发板所有的网络接口,其中eth0是以太网口,usb0就是我们这里所关注的USB ethernet gadget。我们可以看到STM32MP1 Starter开发包已经自动将usb0当成以太网卡使用,同时也将IP固定为192.168.7.2。我们对STM32MP1并不需要什么额外的配置,感觉相当方便。
1 L5 S, b0 a) s- j2 N1 b( ]; J, x* m% L
55.png
Windows上配置网络参数并测试TCP/IP连接

' r( u$ X" b- n" h3 a
将开发板连接到Windows(我们这里使用的是Win10),我们可以在【控制面板】→【网络和因特网】→【网络连接】界面下看到:多了一个Remote NDIS网络接口,如下所示:
66.jpg
我们选中Remote NDIS网卡,右键选择属性Properties,配置网络地址为192.168.7.90(或者其它地址,注意不要和192.168.7.2重复)
77.jpg
8 \1 @( U: F; f& v4 G
现在就可以打开Windows命令行,执行ping命令可以看到Windows和STM32MP1已经连通。
88.jpg

8 i5 {$ j3 v" k- b! B$ q
TCP/IP连接应用
# E; j' @% D5 x) c5 V4 k: @
有了TCP/IP连接,我们就可以做很多应用。例如,我们可以使用它来复制文件或者登陆到设备上去;我们需要用到scp和ssh命令。
支持scp和ssh命令的Windows软件
有多个软件提供scp和ssh命令。一个最简单的选择是Git for windows提供的命令行环境Git-bash。Git for windows可以从http://gitforwindows.org/下载安装。安装完成后,点击git-bash图标,就进入了命令行环境。你也可以选择Windows SubsystemLinux(WSL),安装也非常简单。
在STM32MP1与Windows之间复制文件
99.jpg
, S, ?" L! C2 Q" h2 t9 N3 F2 G( M
从Windows上ssh连接STM32MP1
10.jpg

& n4 ?* W3 L/ \; W
注意
在使用ssh命令时有时候它会提示

7 t8 H( _0 b: v6 E6 M8 A0 Q! v2 Q
111.jpg

, }) q& M. r0 N8 z
这个时候你可以使用命令vim,在命令行界面里打开~/.ssh/known_hosts删除改IP地址所对应的行就可以了。
也可以用其他编辑器访问C:\Users\xxx(你的用户名)\.ssh\known_hosts删除所对应的行。

& e. D* g, x- z0 W7 z7 K; ]
) k  d0 w; C) `! G7 k0 a
8 p( t4 ]7 e2 O! X  ^
赞 收藏 评论0 发布时间:2019-10-16 14:47

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版