第2章 开发环境搭建
这一章,咱们来搞定开发环境。说白了,就是让你的电脑能和 Atlas 200 DK 正常「对话」,并且能给它编译程序。
我个人习惯把环境搭建分成三步:装 MindStudio、配交叉编译工具链、做 SD 卡并烧录系统。这三步走完,你的开发板才算真正「活」过来。
2.1 安装 MindStudio
MindStudio 是华为昇腾的官方 IDE,说白了就是给你一个图形化界面,不用天天敲命令行。我个人建议直接装最新 LTS 版本,省得后面踩坑。
下载地址在昇腾社区,注意选对版本——Atlas 200 DK 对应的是嵌入式版,别下成服务器版了。
安装步骤其实不复杂,解压后运行安装脚本就行。不过要注意,MindStudio 依赖 Java 环境,如果你机器上没有 JDK 11,它会自动帮你装。嗯,这里有个小细节——安装路径不要带中文和空格,否则后面编译会出奇怪的问题。
# 解压安装包
tar -zxvf MindStudio_*.tar.gz
# 进入目录运行安装
cd MindStudio/bin
./MindStudio.sh
第一次启动会弹配置向导,选「Atlas 200 DK」模式,然后指定 SDK 路径。我个人习惯把 SDK 放在 /opt 下,方便多用户共用。
2.2 配置交叉编译工具链
Atlas 200 DK 的 CPU 是 ARM 架构(aarch64),而你的 PC 通常是 x86_64。所以咱们得用交叉编译器——在 PC 上编译出 ARM 能跑的程序。
你想想看,如果没有交叉编译工具链,你写的 C++ 代码在 PC 上编译出来,拿到开发板上根本跑不了。这就是为什么这一步不能省。
华为官方提供了 gcc-aarch64-linux-gnu 工具链,直接 apt 安装就行:
sudo apt update
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
安装完后验证一下:
aarch64-linux-gnu-gcc --version
我在项目中遇到过一个问题:默认的工具链版本可能比较老,编译 C++17 特性时会报错。这时候我建议从 ARM 官网下载最新的交叉编译器,解压后配置环境变量。
# 下载最新工具链(示例路径)
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
# 解压到 /opt
sudo tar -xf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz -C /opt
# 配置环境变量(加到 ~/.bashrc)
export PATH=/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH
source ~/.bashrc 或者重新打开终端。
2.3 SD 卡制作与系统烧录
这一步是把操作系统烧到 SD 卡里,插到 Atlas 200 DK 上才能启动。说白了,SD 卡就是开发板的「硬盘」。
官方提供了专门的烧录工具 make_sd_card.py,在 MindStudio 的安装目录下能找到。我个人习惯用命令行烧录,因为图形化工具有时候会卡住。
准备工作:
- 一张 32GB 以上的 SD 卡(建议 Class 10 或 UHS-I)
- 读卡器(别用劣质的,我之前有个读卡器烧到一半掉盘,卡直接废了)
- 下载好的系统镜像文件(.img 格式)
烧录命令其实就一行:
# 进入 MindStudio 工具目录
cd ${MindStudio安装路径}/tools/scripts
# 执行烧录(注意替换 sd_card 为你的设备号)
python3 make_sd_card.py local /path/to/your/image.img /dev/sdX
lsblk,插入后再执行一次,多出来的那个就是。千万别搞错,否则可能把电脑硬盘给格式化了——我身边真有同事干过这事。
烧录过程大概 5-10 分钟,取决于 SD 卡速度。完成后把卡插到 Atlas 200 DK 上,上电,看到绿灯闪烁就说明系统在启动了。
2.4 验证环境是否正常
系统启动后,通过串口或者 SSH 登录(默认 IP 是 192.168.1.2,用户名 root,密码 Huawei@123)。
登录后跑几个命令确认一下:
uname -a # 查看内核版本
npu-smi info # 查看 NPU 状态
python3 --version # 确认 Python 环境
如果 npu-smi info 能正常显示芯片信息,恭喜你,环境搭建成功了!
| 组件 | 状态 | 验证方式 |
|---|---|---|
| MindStudio | 已安装 | 启动界面正常 |
| 交叉编译工具链 | 已配置 | aarch64-linux-gnu-gcc --version |
| SD 卡系统 | 已烧录 | 开发板能正常启动 |
| NPU 驱动 | 已加载 | npu-smi info 显示信息 |
嗯,到这里环境搭建就全部完成了。整个过程看起来步骤不少,但只要你按顺序来,基本不会出大问题。我刚开始接触 Atlas 200 DK 时,在交叉编译工具链上卡了整整一天——后来发现只是路径写错了。所以别怕踩坑,踩过一次后面就顺了。