2. 开发环境全景概览:搭建环境所需的工具链总览
说实话,很多初学者一上来就急着装 IDE、敲命令,结果装到一半发现缺这个少那个,最后环境没搭起来,热情先凉了半截。我刚开始接触 HarmonyOS 设备开发时也踩过这个坑——那时候文档还没现在这么全,光找烧录工具就折腾了两天。
所以这一章,我们先不急着动手。我把整个工具链摊开给你看,讲清楚每件工具是干什么的、它们之间怎么配合。你心里有了全景图,后面一步步操作才不会慌。
2.1 工具链全景:四类核心工具
HarmonyOS 设备开发的工具链,说白了就是四类东西:代码编辑器、编译器、烧录工具、源码管理工具。它们串起来就是一条流水线:写代码 → 编译成固件 → 烧到板子上 → 用源码管理做版本控制。
| 工具类别 | 代表工具 | 核心作用 | 我的建议 |
|---|---|---|---|
| 代码编辑器 | DevEco Device Tool、VS Code | 编写、调试、管理代码 | 直接用 DevEco,集成度最高 |
| 编译器 | GCC for ARM/RISC-V、LLVM | 把 C/C++ 源码转成机器码 | 注意选对芯片架构版本 |
| 烧录工具 | HiBurn、OpenOCD、JLink | 把固件写入开发板 Flash | HiBurn 最省心,串口就行 |
| 源码管理 | Git、Repo | 拉取、同步、管理多仓代码 | Repo 必学,HarmonyOS 是多仓结构 |
核心要点:这四类工具不是孤立的。DevEco Device Tool 其实已经帮你集成了编辑器、编译调用和烧录入口,但底层原理你必须懂——出了问题才能自己排查。
2.2 编译器:为什么不是随便装一个 GCC 就行?
编译器是整个链条里最容易被忽视的一环。很多人觉得「装个 GCC 不就行了?」——嗯,我以前也这么想,直到我编译出来的固件烧进板子,板子死活不跑。
问题出在哪?交叉编译。你的电脑是 x86 架构,开发板是 ARM 或 RISC-V 架构。你得用针对目标架构的交叉编译器,才能在 PC 上生成板子能跑的机器码。
HarmonyOS 设备开发常用的编译器组合:
- ARM Cortex-M 系列(如 Hi3861):arm-none-eabi-gcc
- ARM Cortex-A 系列(如 Hi3516):aarch64-none-elf-gcc
- RISC-V 系列(如某些第三方模组):riscv64-unknown-elf-gcc
我的经验:装编译器时一定要确认版本号。HarmonyOS 对 GCC 版本有明确要求,比如 ARM GCC 推荐 10.3-2021.10 以上。版本不对,编译时会出现莫名其妙的链接错误。我曾经因为 GCC 版本低了 0.1,卡了整整一个下午。
2.3 烧录工具:把固件送进板子的最后一步
编译出 .bin 或 .hex 文件后,怎么把它弄到开发板上?这就靠烧录工具了。
不同的芯片方案,烧录方式不一样:
- Hi3861(Wi-Fi IoT 模组):用 HiBurn,通过串口烧录。速度慢但稳定,适合调试阶段。
- Hi3516(多媒体芯片):用 USB 或网口烧录,工具是 DevEco Device Tool 自带的烧录功能。
- 第三方开发板(如 STM32):用 OpenOCD + JLink/SWD 调试器,速度最快,还能在线调试。
注意:烧录前一定要检查板子的启动模式。很多板子有 BOOT 引脚,需要拉高或拉低才能进入烧录模式。我第一次烧 Hi3861 时没注意这个,串口一直没反应,还以为是板子坏了。
2.4 源码管理:Repo 是 HarmonyOS 的标配
HarmonyOS 的源码不是单个仓库,而是几十个 Git 仓库组成的「多仓」结构。你用普通的 git clone 一个一个拉,手都得拉酸。
Google 的 Repo 工具就是专门干这个的。它用一个 manifest 文件描述所有仓库的地址、分支和依赖关系,一条命令就能把整个源码树拉下来。
常用的 Repo 命令:
# 初始化 Repo 并拉取源码
repo init -u https://gitee.com/openharmony/manifest.git -b master
repo sync
# 切换分支
repo start my-branch --all
# 查看所有仓库状态
repo status
避坑指南:我曾经在网速不好的环境下直接 repo sync,结果中途断了,再执行时各种冲突。后来我学乖了:先 repo sync -j4 限制并行数,断网后 repo sync --force-sync 强制重新同步。另外,建议用 Gitee 镜像,比 GitHub 快得多。
2.5 环境搭建整体流程:一张图说清楚
下面这张 SVG 图把整个环境搭建的流程画出来了。你可以把它当作你的「施工蓝图」——每一步做什么、依赖什么、产出什么,一目了然。
2.6 我的推荐安装顺序
上面那张图是逻辑流程,实际安装时我建议你按这个顺序来:
- 先装 Python 和 Git——这是所有工具的基础依赖。
- 再装编译器——GCC 或 LLVM,根据你的芯片架构选。
- 装构建工具——Ninja、gn、cmake,这些是编译系统要用的。
- 装 DevEco Device Tool——它会自动检测前面的工具,缺什么会提示。
- 装 Repo 并拉源码——最后一步,因为源码最大,放最后免得干扰前面。
关键提醒:每一步装完后,建议在终端里执行一下版本验证命令,比如 gcc --version、python --version。别等到最后编译报错了才回头查——我吃过这个亏,编译到 80% 才报错,浪费了半小时。
2.7 本章小结
这一章我们没写一行代码,但把整个工具链的骨架搭清楚了。你知道了需要装什么、为什么装、按什么顺序装。接下来第 3 章,我们就开始动手——从安装 Python 和 Git 开始,一步步把环境搭起来。
记住一句话:环境搭得好,开发没烦恼。 前面多花点时间把基础打牢,后面写代码、调 bug 的时候你会感谢自己的。