第2章:开发环境搭建
说实话,嵌入式开发的第一步,往往是最劝退的。
我记得刚入行那会儿,光装个交叉编译工具链就折腾了两天。不是缺这个库,就是路径配错了。现在回想起来,其实没那么复杂。今天我就带你一步步把环境搭好,少走些弯路。
2.1 安装交叉编译工具链
什么是交叉编译?说白了,就是在你的电脑上编译出能在ARM芯片上跑的程序。你的电脑是x86架构,目标板是ARM架构,这俩不是一个世界的东西。
我个人习惯用 gcc-arm-none-eabi 这个工具链。它免费、稳定,社区也活跃。安装方式很简单:
# Ubuntu/Debian 系统
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
# 验证安装
arm-none-eabi-gcc --version
如果你用的是Windows,我建议你装个WSL(Windows Subsystem for Linux)。别在Windows原生环境下折腾了,真的,我试过,坑太多。
小提示: 安装完成后,记得把工具链路径加到环境变量里。不然每次编译都要写全路径,烦得很。
2.2 搭建Linux开发环境
嵌入式开发,Linux是标配。为什么?因为工具链、脚本、调试工具,几乎都是为Linux设计的。
我推荐用 Ubuntu 20.04 LTS 或 22.04 LTS。别追新版本,稳定最重要。我在项目中遇到过因为升级内核导致驱动不兼容的情况,折腾了一整天。
除了工具链,你还需要装这些:
- Git:版本管理,必备
- Make:自动化编译
- CMake:跨平台构建工具
- Vim 或 VS Code:编辑器,看个人喜好
sudo apt-get install git make cmake vim
嗯,这里要注意:别一股脑全装最新版。有些旧项目对工具版本有要求。我一般会在项目根目录放一个 README.md,写明依赖版本。
2.3 配置串口终端工具
串口是嵌入式开发者的「眼睛」。没有它,你根本不知道板子在干什么。
我常用的串口工具有两个:
| 工具 | 平台 | 特点 |
|---|---|---|
| minicom | Linux | 轻量、命令行、适合脚本 |
| PuTTY | Windows | 图形界面、支持SSH和串口 |
配置步骤其实很简单:
- 把开发板用USB线连到电脑
- 查看设备节点:
ls /dev/ttyUSB*或ls /dev/ttyACM* - 设置波特率(一般是115200)、数据位8、停止位1、无校验
# 使用 minicom
sudo minicom -D /dev/ttyUSB0 -b 115200
注意: 我曾经因为忘记加
sudo,折腾了半小时才发现是权限问题。记得把用户加到 dialout 组:
sudo usermod -a -G dialout $USER
2.4 验证环境是否正常
环境搭好了,怎么知道对不对?写个最简单的程序试试:
// hello.c
#include <stdio.h>
int main() {
printf("Hello, Embedded World!\n");
return 0;
}
用交叉编译器编译:
arm-none-eabi-gcc -o hello.elf hello.c
如果没报错,生成了 hello.elf 文件,说明工具链没问题。再用 file hello.elf 看看,输出应该是 ELF 32-bit LSB executable, ARM 之类的信息。
核心要点:
- 交叉编译工具链是桥梁,连接你的电脑和目标板
- Linux环境是嵌入式开发的基石
- 串口工具是你的「 debugging 眼睛」
- 环境搭建后一定要验证,别等到写代码才发现问题
好了,环境搭好了。接下来就可以真正开始写日志系统了。别急,先把这些基础打牢,后面会顺很多。