嵌入式开发环境搭建:VMware 安装 Ubuntu + 交叉编译工具链配置全流程(附报错解决)
作为嵌入式开发小白,第一次搭建开发环境时总会踩各种坑 ——VMware 虚拟机启动失败、Ubuntu 镜像校验错误、交叉编译工具链找不到路径…… 本文整理了从 VMware 安装到交叉编译工具链配置的完整流程,附带 3 类高频报错的解决方法,新手跟着做就能少走弯路。
一、准备工作:所需工具与镜像
1. 必备工具
- 虚拟机软件:VMware Workstation Pro(本文以 16 版本为例,15/17 版本操作类似)
- 交叉编译工具链:arm-linux-gnueabihf-gcc(根据开发板架构选择,本文以 ARM 架构为例)
2. 注意事项
- 确保电脑内存≥8GB(虚拟机建议分配 4GB 以上),硬盘预留≥50GB 空间
- 提前关闭电脑自带的虚拟机冲突软件(如 Hyper-V,否则 VMware 可能无法启动)
二、VMware 安装与 Ubuntu 配置
1. 安装 VMware Workstation Pro
- 双击安装包,选择 “典型安装”,按提示完成安装(注意勾选 “添加到 PATH”,方便后续命令行操作)
- 安装完成后输入许可证密钥(可自行搜索或购买正版),启动软件
2. 创建 Ubuntu 虚拟机
- 点击 “创建新的虚拟机”,选择 “典型(推荐)”,点击 “下一步”
- 选择 “安装程序光盘映像文件(ISO)”,点击 “浏览” 选择下载好的 Ubuntu 20.04 镜像
- 填写虚拟机名称(如 “Embedded-Ubuntu”),选择安装路径(建议非系统盘,路径无中文)
- 磁盘大小分配 40GB 以上,选择 “将虚拟磁盘存储为单个文件”(性能更优)
- 点击 “自定义硬件”,在 “内存” 中分配 4GB(4096MB),“处理器” 分配 2 核,点击 “完成”
3. 安装 Ubuntu 系统
- 启动虚拟机,选择 “Install Ubuntu”,语言建议选 “中文(简体)”
- 键盘布局保持默认 “汉语”,点击 “继续”
- 安装类型选择 “正常安装”,勾选 “安装第三方软件”(避免后续缺少驱动)
- 分区选择 “清除整个磁盘并安装 Ubuntu”(新手推荐,无需手动分区)
- 选择时区(如 “上海”),设置用户名和密码(记住密码,sudo 命令需要)
- 等待安装完成,重启虚拟机,输入密码登录
三、交叉编译工具链配置
1. 下载工具链
- 打开 Ubuntu 终端(快捷键 Ctrl+Alt+T),通过 wget 命令下载(以 64 位工具链为例):
TypeScript取消自动换行复制
wget https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
- 若下载慢,可在 Windows 下载后通过共享文件夹传到 Ubuntu(VMware 设置 “选项 - 共享文件夹”,勾选 “总是启用”)
2. 解压与安装
- 创建工具链目录:
TypeScript取消自动换行复制
sudo mkdir -p /usr/local/arm
- 解压到目标目录:
TypeScript取消自动换行复制
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz -C /usr/local/arm
3. 配置环境变量
- 打开环境变量配置文件:
TypeScript取消自动换行复制
sudo gedit /etc/profile
- 在文件末尾添加工具链路径(注意替换为实际解压后的文件夹名):
TypeScript取消自动换行复制
export PATH=$PATH:/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin
- 使配置生效:
TypeScript取消自动换行复制
source /etc/profile
4. 验证安装
输入以下命令,若显示版本信息则配置成功:
TypeScript取消自动换行复制
arm-linux-gnueabihf-gcc -v
四、高频报错与解决方法
1. 虚拟机启动报错:“Intel VT-x 处于禁用状态”
- 原因:电脑 BIOS 中未开启虚拟化技术
- 解决:重启电脑,按 F2/F10 进入 BIOS(不同品牌按键不同),找到 “Intel VT-x” 或 “Virtualization Technology”,设置为 “Enabled”,保存重启
2. Ubuntu 终端输入命令提示 “command not found”
- 原因:环境变量配置错误或工具链解压路径错误
- 解决:
- 检查工具链实际路径:ls /usr/local/arm,确认文件夹名称是否与环境变量中一致
- 重新执行source /etc/profile,或重启终端
3. 编译时提示 “cannot find -lm” 等库缺失
- 原因:缺少 32 位兼容库
- 解决:安装依赖包:
TypeScript取消自动换行复制
sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6
五、总结与后续操作
至此,嵌入式开发的基础环境已搭建完成。后续可以:
- 安装 SSH 服务(sudo apt-get install openssh-server),通过 Xshell 远程连接 Ubuntu
- 下载开发板 SDK,尝试编译第一个 Hello World 程序
- 安装 Qt Creator(sudo apt-get install qtcreator),搭建图形化开发环境
如果遇到其他问题,欢迎在评论区留言交流,嵌入式学习路上一起踩坑一起进步!
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)