2、开发环境全景:硬件选型、软件栈概览、工具链总览

说实话,很多初学者一上来就问我:「老师,我该买哪块板子?」「环境到底要装哪些东西?」

嗯,这个问题问得好。但我的回答可能会让你有点意外——先别急着下单

我个人习惯是,在动手之前,先把整个「地图」看清楚。你想想看,如果连路都不认识,跑得再快也容易撞墙。这一章,我就带你把这幅地图画出来。

2.1 硬件选型:三款主流开发板怎么选?

鸿蒙设备开发目前有三款官方推荐的开发板,分别是 Hi3861Hi3516Hi3518。它们定位不同,适合的场景也完全不一样。

型号 定位 CPU 内存 典型场景
Hi3861 轻量级 IoT 设备 ARM Cortex-M4 352KB RAM 智能家居传感器、智能灯
Hi3516 中端多媒体设备 ARM Cortex-A7 64MB DDR 智能摄像头、可视门铃
Hi3518 入门级多媒体设备 ARM Cortex-A7 32MB DDR 低端摄像头、简单显示设备

Hi3861 是我个人用得最多的一块板子。为什么?因为它便宜、功耗低,而且跑的是 LiteOS 内核,非常适合做传感器节点。我在项目中遇到过用 Hi3861 控制温湿度传感器,电池供电能跑半年以上。

Hi3516Hi3518 则属于「带屏幕」的阵营。它们跑的是 Linux 内核,性能更强,能处理视频流。如果你要做带摄像头或者屏幕交互的产品,选它们准没错。

我的建议: 如果你是纯新手,先买一块 Hi3861 入门。成本低,踩坑了也不心疼。等把基础环境跑通了,再考虑升级到 Hi3516。

2.2 软件栈概览:鸿蒙到底长什么样?

很多人以为鸿蒙就是一个「操作系统」,其实没那么简单。它是一整套软件栈,从底层内核到上层应用框架,层层叠叠。

我习惯把鸿蒙的软件栈分成四层来看:

  1. 内核层:LiteOS(轻量级)或 Linux(标准级)。Hi3861 用 LiteOS,Hi3516/3518 用 Linux。
  2. 系统服务层:包括文件系统、网络协议栈、电源管理等基础服务。
  3. 框架层:提供 AI 框架、图形框架、多媒体框架等。
  4. 应用层:你写的业务代码,跑在 JS/Java 或 C/C++ 运行时上。

说白了,你写的代码最终会通过框架层调用系统服务,再通过内核层操作硬件。每一层都有对应的 API 和开发规范。

避坑指南: 我曾经在 Hi3516 上直接调用底层 GPIO 操作,结果发现框架层有更优雅的接口。嗯,后来我养成了一个习惯——先看框架层 API 文档,再决定要不要「裸写」底层。

2.3 工具链总览:你需要的「武器库」

开发环境配置,说白了就是装一堆工具。但工具之间是有依赖关系的,装错了顺序,后面会非常痛苦。

我列一个标准的工具链清单,你照着来就行:

  • 代码编辑器:VS Code 或 DevEco Studio(华为官方 IDE)。我个人更推荐 DevEco Studio,因为它集成了鸿蒙的插件和调试工具。
  • 编译工具链:对于 Hi3861,需要安装 gcc-arm-none-eabi 交叉编译器。对于 Hi3516/3518,需要安装 gcc-arm-linux-gnueabi
  • 烧录工具:Hi3861 用 HiBurn,Hi3516/3518 用 HiTool。别搞混了,我见过有人拿 HiBurn 去烧 Hi3516,结果板子直接变砖。
  • 调试工具:串口调试工具(如 Putty、MobaXterm)和 JTAG 调试器(如 J-Link)。
  • 版本管理:Git 和 repo 工具。鸿蒙的源码仓库很大,用 repo 来管理多个仓库会方便很多。
注意: 安装交叉编译器时,一定要确认版本号。鸿蒙对 GCC 版本有严格要求,版本不对会导致编译失败。我曾经因为 GCC 版本高了 0.1,折腾了一整天。

2.4 知识体系全景图

为了让你更直观地理解整个开发环境的结构,我画了一张图。你可以把它当作你的「导航地图」。

鸿蒙设备开发环境全景图 硬件层 Hi3861 (LiteOS) | Hi3516 (Linux) | Hi3518 (Linux) 内核层 LiteOS (轻量级) / Linux (标准级) 系统服务层 文件系统 | 网络协议栈 | 电源管理 | 安全服务 框架层 AI框架 | 图形框架 | 多媒体框架 | 分布式框架 工具链 DevEco Studio GCC交叉编译器 HiBurn / HiTool 串口调试工具 JTAG调试器 Git / repo

这张图从左到右看,就是鸿蒙的完整软件栈。从硬件层到应用层,每一层都有对应的工具链来支撑。你配置环境时,其实就是把右侧这些工具一个个装好,然后让它们能跟左侧的每一层「对上话」。

一个小技巧: 配置环境时,按照「硬件驱动 → 内核编译 → 系统服务 → 框架层」的顺序来验证。每装好一个工具,就编译一个对应的示例程序,确保链路是通的。别等到最后才编译,否则出了问题你根本不知道是哪一层挂了。

好了,地图已经给你画好了。下一章,我们就开始动手装第一个工具——DevEco Studio。到时候我会手把手带你走一遍,保证不迷路。


专注资料整理