一、HarmonyOS 设备开发概述
大家好,我是你们这门课的老朋友。做了十几年嵌入式开发,从单片机一路折腾到 Linux,再到现在的 HarmonyOS,说实话,每次换平台都像重新学走路。但 HarmonyOS 给我的感觉不太一样——它不是为了替代谁,而是想解决一个实际问题:设备之间怎么才能好好说话。
今天咱们先聊聊 HarmonyOS 设备开发到底是个啥,它的系统架构长什么样,以及新手该怎么选开发板。嗯,这部分内容偏概念,但很重要。你想想看,方向错了,后面跑得再快也是白搭。
1.1 什么是 HarmonyOS 设备开发
简单说,HarmonyOS 设备开发就是让你用华为的这套操作系统,去驱动硬件、跑应用、连网络。它跟传统的 RTOS(比如 FreeRTOS)或者 Linux 开发最大的区别在于——它天生就是为「分布式」设计的。
我在项目中遇到过这样一个场景:一个智能家居系统,需要传感器采集数据、摄像头抓图、手机端控制。以前的做法是每个设备各干各的,通过服务器中转。但在 HarmonyOS 里,设备之间可以直接发现、直接通信、甚至共享算力。说白了,它把多个设备变成了一个「超级终端」。
核心概念:HarmonyOS 设备开发 ≠ 单片机开发,也不是 Linux 开发的简单移植。它是一种面向全场景、全连接的操作系统开发方式。你写的代码,可能跑在 Wi-Fi 模组上,也可能跑在带屏幕的板子上,甚至跑在手机上——但底层框架是统一的。
1.2 系统架构简介
HarmonyOS 的架构分三层,我习惯叫它「三层一核」。别被术语吓到,咱们一层层拆开看。
从上往下看:
- 应用层:你写的业务逻辑代码。在 HarmonyOS 里,应用被拆成 FA(Feature Ability)和 PA(Particle Ability)。FA 负责界面,PA 负责后台任务。我刚开始接触时也觉得多此一举,后来做多设备协同才发现——这种拆分让代码复用变得特别自然。
- 框架层:这是 HarmonyOS 最值钱的部分。分布式软总线、分布式数据管理、分布式任务调度,这三个东西让设备之间能「无缝协同」。举个例子,你在 A 设备上播放视频,可以一键流转到 B 设备上继续播——底层就是框架层在干活。
- 内核层:支持 LiteOS 和 Linux 双内核。小设备跑 LiteOS,大设备跑 Linux。驱动框架叫 HDF(Hardware Driver Foundation),它屏蔽了硬件差异。我在项目中踩过一个坑:同一套传感器,换了个型号,驱动接口居然没变——这就是 HDF 的功劳。
我的建议:初学阶段,重点理解「分布式软总线」的概念。不用深究源码,先知道它解决了什么问题——设备发现、连接、数据传输。后面做项目时你会反复用到它。
1.3 开发板选型指南
选开发板这事,我见过太多人走弯路。有人一上来就买最贵的,结果吃灰;有人买最便宜的,结果跑不动。我的经验是——先看目标场景,再选板子。
目前 HarmonyOS 设备开发的主流板子就两类:轻量系统和小型系统。咱们用表格对比一下:
| 对比项 | Hi3861(轻量系统) | RK3568(小型系统) |
|---|---|---|
| 内核 | LiteOS | Linux 4.19 / LiteOS |
| CPU | RISC-V 160MHz | 4×Cortex-A55 2.0GHz |
| 内存 | 2MB Flash / 352KB RAM | 2GB~8GB LPDDR4 |
| 典型场景 | 智能灯、传感器、开关 | 智能屏、网关、中控 |
| 开发难度 | 低(裸机思维) | 中(Linux 思维) |
| 价格 | 约 50~80 元 | 约 300~600 元 |
Hi3861:入门首选
如果你之前做过单片机开发,Hi3861 会让你感觉很亲切。它资源少,但够用。我记得第一次在 Hi3861 上跑通 Wi-Fi 连接时,那种成就感不亚于当年点亮第一个 LED。
适合人群:
- 嵌入式新手,想低成本入门
- 做 IoT 小设备,比如温湿度传感器、智能开关
- 想快速验证 HarmonyOS 的分布式能力
避坑指南:我曾经因为 Hi3861 的 Flash 只有 2MB,编译时没注意优化,结果固件塞不进去。后来养成了习惯——每次编译前先 make clean,再检查 size。嗯,这个习惯救了我很多次。
RK3568:进阶利器
RK3568 是块「小钢炮」。四核 A55,跑 Linux 内核,带 GPU 和 NPU。如果你要做带屏幕、带 AI 推理、或者需要复杂网络协议栈的项目,选它没错。
适合人群:
- 有 Linux 开发经验,想深入 HarmonyOS
- 做智能家居网关、带屏设备、边缘计算节点
- 需要跑多进程、多线程、复杂业务逻辑
我个人的习惯是:先用 Hi3861 跑通基础流程,再迁移到 RK3568 上做产品原型。这样既能快速验证想法,又不会在初期被复杂的 Linux 环境劝退。
1.4 开发环境概览
最后简单提一下开发环境。后面几章会详细讲,这里先让你有个整体印象。
- 编译工具链:Hi3861 用 gcc-riscv32,RK3568 用交叉编译工具链
- 烧录工具:Hi3861 用串口烧录,RK3568 用 USB 或 SD 卡
- 调试方式:串口日志(printf 大法好)、JTAG(高级调试)
- IDE:DevEco Device Tool(华为官方,基于 VS Code)
一句话总结:HarmonyOS 设备开发不是从零造轮子,而是在一个统一的分布式框架下,让硬件「活」起来。选对板子、理解架构、动手实践——这三步走完,你就入门了。