TFTP 调试两种网线组网方案(仅讲解至设备互 Ping,文件传输操作暂不展开)

目录

通用前置配置(两种组网全部适用)

VMware 桥接通用设置(核心关键)

方案一:交换机 / 路由器组网(DHCP 自动获取 IP)

1. 物理接线

2. IP 分配规则

查询 IP 操作

1)Ubuntu 虚拟机查询 IP

2)开发板查询 IP

3. 操作流程(仅到互 Ping 验证)

4. 优缺点

5. 外网补充

方案二:单网线直连组网(电脑有线口直接接开发板,无交换机 / 路由器)

1. 物理接线

2. IP 分配规则

① Ubuntu 图形界面配置静态 IP(对应截图)

② 开发板临时设置 IP(SecureCRT 串口执行,重启会丢失)

3. 操作流程(仅到互 Ping 验证)

4. 优缺点

末尾通用网络、防火墙、硬件检查说明


通用前置配置(两种组网全部适用)

VMware 桥接通用设置(核心关键)

先关闭 Ubuntu 虚拟机,打开软件顶部菜单【编辑】→【虚拟网络编辑器】,点击【更改设置】获取管理员权限;

  1. 选中列表里的VMnet0(桥接模式),下方单选框勾选桥接模式;
  2.  「已桥接至」下拉框不要选自动,手动选择你电脑上插网线接交换机 / 路由器 / 开发板的有线以太网网卡(不同电脑网卡名称不一样,认准 “以太网 / Ethernet” 字样,排除 WiFi、虚拟网卡、加速器网卡);
  3. 点击【应用】→【确定】保存;再打开虚拟机设置,把网络适配器设置为「桥接模式 (VMnet0)」。

方案一:交换机 / 路由器组网(DHCP 自动获取 IP)

1. 物理接线

交换机 / 路由器引出两根网线:

  • 网线 1:交换机 / 路由器 LAN 口 → 电脑有线网口
  • 网线 2:交换机 / 路由器 LAN 口 → 开发板网口

电脑可额外连接手机热点上网,不影响调试内网。

2. IP 分配规则

交换机、家用路由器 LAN 口均自带 DHCP 服务,所有设备自动获取同网段 IP,无固定 IP,需自行查询本机 IP。

查询 IP 操作

1)Ubuntu 虚拟机查询 IP

• 若提示ifconfig: 未找到命令,先安装工具:

sudo apt install net-tools

• 查看网卡 IP:

ifconfig

记录 ens33 对应的inet地址(虚拟机 IP)。

2)开发板查询 IP
ifconfig

记录开发板网口对应的inet地址。
两台设备 IP 前三段、子网掩码必须完全一致才能互通。

3. 操作流程(仅到互 Ping 验证)

1. 完成通用 VMware 桥接设置;
2. 两根网线分别接交换机 / 路由器 LAN 口、电脑、开发板,全部设备上电开机;
3. Ubuntu、开发板执行ifconfig,分别记录各自 IP,确认网段统一;
4. Ubuntu 终端 ping 开发板 IP(替换为实际查到的开发板 inet 地址):

 

ping 开发板实际IP

5. SecureCRT 串口进入开发板,反向 ping 虚拟机 IP(替换为实际查到的虚拟机 inet 地址):
 

ping 虚拟机实际IP

6. 双向 Ping 无丢包,代表网络环境就绪,满足 TFTP 传输前置条件(具体文件下载命令暂不讲解)。

4. 优缺点

  • 优点:插上网线即用,无需手动设置 IP;开发板 U‑Boot 里可以用 dhcp 自动获取网络地址;路由器还能同时给整套设备提供外网
  • 缺点:需要额外交换机 / 路由器,外出携带不方便

5. 外网补充

  1. 路由器组网:整套设备(电脑、虚拟机、开发板)均可通过路由器访问互联网;
  2. 单纯交换机组网:仅电脑连手机热点能上网;Ubuntu 虚拟机桥接有线网口,自身无法访问外网,需要下载软件工具时,临时把虚拟机网卡切换为 NAT 模式。
     

方案二:单网线直连组网(电脑有线口直接接开发板,无交换机 / 路由器)

1. 物理接线

只用一根网线,两端分别插电脑有线网口、开发板网口,不需要交换机、路由器;
电脑可随意选择是否连接手机热点,有无外网都不影响设备互相 Ping 通。

2. IP 分配规则

无交换机 / 路由器就没有 DHCP 服务,Windows 有线网卡完全不用配置。

  • Ubuntu:图形界面网络设置里手动填写静态 IP、子网掩码、网关(参考截图)
  • 开发板:串口命令临时设置 IP、子网掩码(重启失效)

参考参数

设备静态 IP 参考子网掩码参考网关参考
Ubuntu 虚拟机172.110.1.81255.255.254.0172.110.1.10
开发板网口172.110.1.80255.255.254.0无需设置

① Ubuntu 图形界面配置静态 IP(对应截图)


1. 打开 Ubuntu 设置 → 网络 → 有线,点开设置,切换到【IPv4】标签页
2. IPv4 方式选择:手动
3. 在地址栏依次填入:

  • 地址:172.110.1.81
  • 子网掩码:255.255.254.0
  • 网关:172.110.1.10

4. 点击右上角【应用】,配置直接生效。

  • 极少数情况配置不生效,可以关闭再打开有线开关做界面刷新,不需要执行命令重启网卡。

5. 可选安装工具,验证 IP 是否生效

ifconfig

没有ifconfig命令:sudo apt install net-tools

不需要修改 Windows 电脑有线网卡的任何参数。

② 开发板临时设置 IP(SecureCRT 串口执行,重启会丢失)

ifconfig eth0 172.110.1.80 netmask 255.255.254.0

3. 操作流程(仅到互 Ping 验证)

1. 完成通用 VMware 桥接设置;
2. 单根网线直连电脑有线口与开发板网口,设备上电;
3. Ubuntu 图形界面 IPv4 手动模式填入上面的 IP、子网掩码、网关,点击应用;
4. SecureCRT 串口执行命令,给开发板临时配置同网段 IP 与子网掩码;
5. Ubuntu 终端 ping 开发板 IP:

ping 172.110.1.80

6. SecureCRT 串口进入开发板,反向 ping 虚拟机 IP:

ping 172.110.1.81

7. 双向 Ping 无丢包,代表网络环境就绪,满足 TFTP 传输前置条件(具体文件下载命令暂不讲解)。

4. 优缺点

  • 优点:仅需一根网线,无需额外硬件,便携性强;Windows 有线网卡无需配置;电脑有无外网,都不影响设备互通
  • 缺点:Ubuntu 需要手动设置静态 IP;开发板ifconfig配置是临时生效,重启丢失;开发板 U‑Boot 无法使用 dhcp 自动获取地址

末尾通用网络、防火墙、硬件检查说明

1.电脑 WiFi / 手机热点仅供给 Windows 主机上网,和网线搭建的调试内网相互独立,Windows 主机是否连接外网,都不会影响开发板和虚拟机互相 ping 通;
2. 进行网络连通测试前,关闭 Ubuntu 防火墙:
 

sudo ufw disable

3. Windows 电脑临时关闭系统防火墙,避免防火墙拦截 Ping 数据包;
4. 网线插接完成后,观察电脑、开发板网口指示灯,正常闪烁代表物理网线链路无故障。

已经博主授权,源码转载自 https://pan.quark.cn/s/fdfcb1303993 ### 高速电路接口原理与应用详解 #### 引言 信息技术的迅猛进步推动了高速数据传输需求的持续提升,特别是在高性能计算、网络通信等关键领域。为了达成高效的数据交换,高速集成电路间的连技术成为了研究的热点。本文将系统阐述几种典型的高速接口规范——PECL(Positive Emitter Coupled Logic)、LVECL(Low Voltage Emitter Coupled Logic)、CML(Current Mode Logic)和LVDS(Low Voltage Differential Signaling),并深入分析它们的电路构造和应用特性。 #### 1. ECL电路基础 ECL电路是早期为应对高速数据传输需求而研发的一种逻辑电路,其运行速度极快,最高可达到10Gbps。通过维持晶体管工作于线性和截止区域,ECL电路有效规避了饱和区的影响,从而获得了迅速的开关响应。接下来将具体解析ECL电路的构成要素及其运作机制。 #### 1.1 ECL线接收器电路组成 - **差分放大器**:由晶体管Q3、Q4、Q5构成,是整个电路的核心部分。其中,Q5作为恒流源,具备较大的交流等效电阻,能够提供稳定的电流,确保电路的稳定运作。 - **发射极跟随器输出电路**:由Q1、Q2组成,主要用于电平调整和输出驱动,确保输出信号与下一级电路的兼容性。 - **偏置电源**:由Q6、Q7以及二极管D1、D2构成,为差分放大器提供可靠的偏置电压,使其始终工作在线性放大区间。 #### 1.2 ECL电路的显著特性 - **高运行速率**:由于晶体管工作在线性和截止状态,不受...
内容概要:本文深入讲解了发布-订阅模式在嵌入式C语言开发中的应用,旨在解决传统“上帝函数”带来的模块强耦合、维护困难、测试复杂等问题。通过引入事件总线(EventBus)作为中间媒介,实现模块间的解耦:发布者负责发出事件,订阅者自主决定是否响应,从而构建星型架构替代原有的蜘蛛网式依赖。文章提供了两种实现方案:基础版采用静态回调数组法,结构简单适合中小型项目;进阶版利用GCC的`__attribute__((section))`和链接脚本,在编译期自动收集订阅关系,实现零RAM开销和真正的模块即插即用。此外,文章还探讨了参数传递的安全性设计、类型校验机制以及在中断处理、递归发布、资源共享等场景下的常见陷阱与应对策略。; 适合人群:具备C语言基础和一定嵌入式开发经验(如1-3年)的工程师,尤其适合面临代码维护困难、模块耦合严重问题的研发人员。; 使用场景及目标:①用于重构大型嵌入式项目中的主循环逻辑,降低模块间依赖,提升代码可维护性和可扩展性;②在资源受限的单片机环境中实现高效、安全的模块间通信;③学习如何利用编译器特性进行静态注册与优化,掌握工业级事件总线的设计与实现方法。; 阅读建议:此资源不提供理论讲解,更有完整的可运行代码示例,建议读者结合文中提供的源码进行实践,尝试在自己的项目中逐步引入发布-订阅模式,并重点关注进阶版的Linker Section实现原理与避坑指南中的实战经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

en.en..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值