基础工具安装:打好地基才能盖高楼

说实话,很多新手在搭建NuttX环境时,最容易忽略的就是基础工具。他们总想着赶紧编译、赶紧烧录,结果卡在某个莫名其妙的错误上,一查——哦,git没装全,curl版本太老。

我当年刚接触嵌入式Linux时也犯过这毛病。记得有次折腾了一整天,最后发现是wget不支持HTTPS协议。嗯,从那以后,我养成了一个习惯:先把基础工具装利索了,再碰项目代码。

更新软件包管理器

不管你是Ubuntu、Debian还是Fedora,第一步永远是更新包管理器。这就像你装修房子前,得先把水电管道检查一遍。

我个人习惯用Ubuntu,所以先看这个:

sudo apt update
sudo apt upgrade -y

如果你是CentOS或Fedora用户:

sudo yum update -y
# 或者
sudo dnf update -y
小提示:我建议你每次打开新终端,都先跑一遍 sudo apt update。为什么?因为软件源列表可能已经变了,你装的东西可能是旧版本。我在项目中遇到过好几次,因为源没更新,装了个有bug的老版本git,折腾半天才发现。

安装Git

Git是NuttX开发的核心工具。你想想看,NuttX的源码托管在GitHub上,你要拉代码、切分支、提交补丁,哪一步离得开它?

sudo apt install git -y

装完后,验证一下:

git --version

你应该会看到类似 git version 2.34.1 这样的输出。如果版本太低(比如低于2.20),我建议你手动升级一下。为什么?因为NuttX的仓库比较大,老版本git在拉取时可能会卡住。

注意:我曾经在Ubuntu 18.04上装过系统自带的git,版本是2.17。拉取NuttX源码时,中途报了个"fatal: early EOF"的错误。后来升级到2.30以上,问题就解决了。所以,别偷懒,版本要够新。

如果你需要最新版,可以用PPA安装:

sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git -y

安装vim/nano编辑器

做嵌入式开发,你免不了要改配置文件。NuttX的Kconfig、Makefile、设备树文件,全是文本。没有个好用的编辑器,你连个宏定义都改不利索。

我个人更偏爱vim,因为它轻量、高效,而且几乎所有的Linux服务器都自带。但如果你刚接触Linux,nano可能更友好——它不需要记那么多快捷键。

# 安装vim
sudo apt install vim -y

# 安装nano
sudo apt install nano -y

装完后,随便打开一个文件试试:

vim test.txt
# 或者
nano test.txt
我的建议:如果你打算长期做嵌入式开发,花点时间学vim。我刚开始也觉得vim反人类,但坚持用了一个月后,发现编辑效率提升了一大截。说白了,vim的学习曲线虽然陡,但回报也高。你想想看,在服务器上改配置时,没有图形界面,nano虽然能用,但vim的查找替换、多窗口操作,真的能救命。

安装curl/wget网络工具

这两个工具,说白了就是用来下载东西的。NuttX的toolchain、补丁文件、依赖库,很多都需要从网上下载。没有它们,你寸步难行。

sudo apt install curl wget -y

验证安装:

curl --version
wget --version

这里有个小细节:curl支持更多的协议(比如FTP、SFTP),而且可以方便地设置请求头。wget则更适合下载大文件,因为它支持断点续传。

实战经验:我在项目中遇到过一个问题:用wget下载ARM toolchain时,网络不稳定,下载到一半断了。wget加个 -c 参数就能续传,而curl默认不支持。所以,下载大文件时,我习惯用wget;调试API接口时,用curl。

举个实际例子,下载NuttX的预编译toolchain:

wget -c https://github.com/.../gcc-arm-none-eabi.tar.bz2

或者用curl测试某个URL是否可达:

curl -I https://github.com

小结

嗯,基础工具就这些。看起来简单,但每一步都别跳过。我见过太多人,急着编译NuttX,结果git没装、curl没装,卡在第一步。你想想看,花10分钟装好这些工具,能省下后面几小时的排查时间,这笔账怎么算都划算。

下一章,我们会安装NuttX的编译工具链。到时候你会发现,今天装的这些基础工具,全都会用上。