news 2026/4/21 21:36:17

Win10+VMware+Ubuntu16.04:手把手搭建嵌入式开发网络环境,内网调试外网查资料一步到位

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Win10+VMware+Ubuntu16.04:手把手搭建嵌入式开发网络环境,内网调试外网查资料一步到位

Win10+VMware+Ubuntu16.04:嵌入式开发网络环境全攻略

刚接触嵌入式Linux开发时,最让人头疼的莫过于搭建开发环境。特别是当需要在虚拟机里编译代码、同时又要连接开发板调试时,网络配置往往成为拦路虎。本文将带你一步步配置一个"内外兼修"的开发环境——既能通过内网直连开发板调试,又能通过外网随时查阅资料。

1. 环境准备与基础概念

在开始配置之前,我们需要先了解几个关键概念和准备必要的硬件设备。嵌入式开发环境的网络配置之所以复杂,主要是因为它涉及三个独立系统之间的通信:Windows主机、Ubuntu虚拟机和嵌入式开发板。

必备硬件清单

  • Windows 10笔记本电脑(需具备无线网卡和有线网卡)
  • JZ2440或其他ARM开发板(带以太网接口)
  • 网线一根(用于连接电脑和开发板)
  • 已安装VMware Workstation Pro软件
  • Ubuntu 16.04虚拟机镜像

网络模式选择

  • NAT模式:让虚拟机共享主机的IP地址访问外网
  • 桥接模式:使虚拟机获得独立的局域网IP,与开发板直接通信

关键点:我们需要为虚拟机配置双网卡,一个用于外网访问(NAT),一个用于内网调试(桥接)。这种配置既能保证开发效率,又能维持网络稳定性。

2. VMware网络配置详解

2.1 重置网络环境

首先我们需要确保VMware的网络环境是干净的:

  1. 关闭Ubuntu虚拟机
  2. 打开VMware的"虚拟网络编辑器"(需管理员权限)
  3. 点击"还原默认设置"按钮
  4. 确认VMnet0(桥接)和VMnet8(NAT)都存在

2.2 添加NAT网络适配器

NAT模式是虚拟机访问外网的关键:

# 在Ubuntu中检查NAT网卡是否正常工作 ifconfig ens33 ping -c 4 www.baidu.com

如果发现网络不通,可以尝试以下命令:

sudo dhclient ens33 # 重新获取IP sudo systemctl restart networking # 重启网络服务

常见问题排查表

问题现象可能原因解决方案
ping不通外网网关设置错误检查/etc/network/interfaces文件
无法获取IPDHCP服务未启动执行sudo dhclient
间歇性断连防火墙阻挡关闭Windows防火墙或添加例外

2.3 配置桥接网络适配器

桥接模式是实现三机互联的核心:

  1. 关闭虚拟机,添加新网络适配器
  2. 选择"桥接模式",并指定桥接到有线网卡
  3. 启动虚拟机,确认新网卡(通常为ens38)已被识别

注意:桥接网卡必须连接到开发板使用的那个物理网卡。如果你使用USB转以太网适配器,务必在VMware提示时选择"连接到主机"。

3. 三端静态IP配置

为了实现稳定通信,我们需要为Windows、Ubuntu和开发板配置同一网段的静态IP。这里我们使用192.168.5.x网段。

3.1 Windows主机配置

  1. 打开"网络连接"设置
  2. 右键点击有线网卡 → 属性 → IPv4设置
  3. 输入以下信息:
    • IP地址:192.168.5.10
    • 子网掩码:255.255.255.0
    • 网关:192.168.5.1

提示:配置完成后网卡图标可能显示断开状态,这是正常的,因为开发板尚未通电。

3.2 Ubuntu虚拟机配置

Ubuntu 16.04使用NetworkManager管理网络,我们可以通过命令行配置:

# 临时设置IP(重启失效) sudo ifconfig ens38 192.168.5.11 netmask 255.255.255.0 # 永久配置 sudo nano /etc/network/interfaces

在文件中添加以下内容:

auto ens38 iface ens38 inet static address 192.168.5.11 netmask 255.255.255.0 gateway 192.168.5.1

3.3 开发板配置

通过串口终端登录开发板,执行:

ifconfig eth0 192.168.5.9 route add default gw 192.168.5.1

为了使配置永久生效,可以创建网络配置文件:

mkdir -p /etc/systemd/network nano /etc/systemd/network/50-static.network

文件内容:

[Match] Name=eth0 [Network] Address=192.168.5.9/24 Gateway=192.168.5.1

4. 网络联通性测试与故障排除

配置完成后,我们需要验证三机之间的网络是否畅通。

4.1 基础测试步骤

  1. 开发板端测试

    ping 192.168.5.10 # Windows主机 ping 192.168.5.11 # Ubuntu虚拟机
  2. Ubuntu端测试

    ping 192.168.5.10 # Windows主机 ping 192.168.5.9 # 开发板 ping www.baidu.com # 外网测试
  3. Windows端测试

    ping 192.168.5.11 ping 192.168.5.9

4.2 常见问题解决方案

问题一:Windows能ping通Ubuntu但ping不通开发板

  • 检查开发板是否已正确配置IP
  • 确认网线连接正常
  • 关闭Windows防火墙测试

问题二:Ubuntu能上外网但无法连接开发板

  • 确认桥接网卡已正确选择物理接口
  • 检查Ubuntu中ens38网卡是否启用
  • 验证IP是否在同一网段

问题三:开发板无法保持IP设置

  • 检查/etc/systemd/network目录权限
  • 确认network服务已启用:systemctl enable systemd-networkd

4.3 高级网络调试技巧

如果需要更深入的网络诊断,可以使用以下工具:

# 查看路由表 route -n # 检查ARP缓存 arp -a # 网络追踪 traceroute 192.168.5.1 # 详细网卡信息 ethtool ens38

5. 开发环境优化建议

配置好基础网络后,我们可以进一步优化开发体验。

5.1 SSH远程登录配置

避免频繁切换界面,可以配置SSH访问开发板:

# 开发板端安装SSH服务 opkg update opkg install openssh-server # Windows端使用PuTTY连接 ssh root@192.168.5.9

5.2 NFS共享文件夹设置

通过NFS可以在主机和开发板之间共享文件:

  1. Ubuntu端配置

    sudo apt install nfs-kernel-server sudo nano /etc/exports

    添加:

    /home/developer/nfs 192.168.5.0/24(rw,sync,no_subtree_check)
  2. 开发板端挂载

    mkdir /mnt/nfs mount -t nfs 192.168.5.11:/home/developer/nfs /mnt/nfs

5.3 自动化脚本示例

创建网络检查脚本network_check.sh

#!/bin/bash # 检查内网连接 ping -c 1 192.168.5.10 > /dev/null && echo "Windows: OK" || echo "Windows: Fail" ping -c 1 192.168.5.9 > /dev/null && echo "DevBoard: OK" || echo "DevBoard: Fail" # 检查外网连接 ping -c 1 www.baidu.com > /dev/null && echo "Internet: OK" || echo "Internet: Fail" # 检查服务状态 service nfs-kernel-server status | grep active

6. 实际开发中的网络应用

6.1 交叉编译环境配置

利用稳定的网络环境,我们可以方便地搭建交叉编译工具链:

# 在Ubuntu中安装工具链 sudo apt install gcc-arm-linux-gnueabihf # 编译测试程序 arm-linux-gnueabihf-gcc -o test test.c # 通过NFS传输到开发板 cp test /home/developer/nfs/

6.2 内核调试技巧

网络畅通后,可以方便地进行内核调试:

# 开发板端开启调试端口 echo 8 > /proc/sys/kernel/printk # Ubuntu端使用netconsole实时查看日志 nc -u 192.168.5.9 6666

6.3 性能优化建议

  • 为虚拟机分配固定内存大小,避免频繁交换
  • 关闭不必要的图形界面,节省资源
  • 定期清理虚拟机快照,保持系统轻量
  • 使用rsync替代频繁的文件复制操作

在实际项目中,这套环境配置已经帮助我高效完成了多个嵌入式产品的开发。特别是在调试阶段,能够同时访问开发板和互联网大大提高了问题排查效率。记得第一次成功ping通所有设备时的成就感,现在想来,这些基础配置的熟练掌握确实是嵌入式开发的必备技能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 21:35:19

避开Zone7的坑:普中C28335开发板XINTF接FPGA通信的完整配置指南

避开Zone7的坑:普中C28335开发板XINTF接FPGA通信的完整配置指南 当工程师尝试将普中C28335开发板与Xilinx Artix-7 FPGA通过XINTF接口进行并行通信时,一个隐藏的硬件陷阱可能导致数天的调试噩梦:明明写操作一切正常,但从FPGA读取的…

作者头像 李华
网站建设 2026/4/21 21:34:26

RH850中断配置避坑指南:从TAUB定时器到CAN通信的实战代码解析

RH850中断配置避坑指南:从TAUB定时器到CAN通信的实战代码解析 在汽车电子和工业控制领域,RH850系列微控制器凭借其卓越的实时性能和丰富的外设资源,成为众多关键系统的首选。中断系统作为实时响应的核心机制,其配置质量直接决定了…

作者头像 李华