为什么做开源鸿蒙,以及选一块什么样的板-【万物智能之开源鸿蒙 OpenHarmony 系统实战开发系列教程】

发布时间:2026/10/17 0:41:59

为什么做开源鸿蒙,以及选一块什么样的板-【万物智能之开源鸿蒙 OpenHarmony 系统实战开发系列教程】 这套教程从一块 RK3568、一份开源鸿蒙标准系统开始。今天不装工具、不刷机先说清楚两件事为什么做开源鸿蒙以及这块板适不适合你。第一次把开源鸿蒙刷进板子很多人会晃一下神这不就是 Linux 吗串口能敲命令uname打出来也是 5.10/proc/device-tree还在I2C、GPIO、网卡该有的节点好像都有。你会下意识地掏出在普通嵌入式 Linux 上用惯的那套编一个小工具、拷上去、chmod x、跑。然后它不吃。用户态不是 GNU 那一套。动态链接器叫ld-musl-arm.so.1还是 32 位的应用不是一个 ELF是 hap要签名调试口看着像 adb命令却叫 hdc你改了设备树重启以后屏还是老样子——因为真正生效的那份 dtb往往不在你刚刷的那个分区里。所以它不是「Linux 换了个桌面」。内核那一层做过嵌入式的人确实熟熟的那一层上面是另一套操作系统。这组文章要写的就是这一层错位环境怎么搭、镜像怎么来、屏怎么亮、外设怎么把数据送到应用里。芯片默认是瑞芯微RK3568系统钉在OpenHarmony 4.1API 11。你手头若是同档 Cortex-A、同样跑标准系统路径名可能不同判断问题的方法是一样的。下面先把三件事说清楚开源鸿蒙能用在哪、为什么值得在这条生态上做南向以及你该买什么样的板。选错档后面 70 篇的命令会对不上。开源鸿蒙能用在哪官方把它定义成面向全场景的智能终端操作系统。落到工程上不要把「全场景」当成一次做完的功能清单。按设备形态常见就是这几类。带屏的人机界面。产线操作员看的 7 寸、10 寸屏楼宇门口机仓储终端充电桩和充电柜的面板医疗监护仪的显示部分。RK3568 的 VOP2 能出 HDMI、MIPI、LVDS、RGB、eDP正好覆盖从调试显示器到工业玻璃的几种接法。同一时刻通常只能把一路当主屏——这是后面显示那几篇的核心约束也是这类产品最容易踩的坑。边缘网关和联网终端。双千兆、USB 上网卡、4G/5G 模组。车间里网线优先户外屏和巡检车靠蜂窝。开源鸿蒙标准系统有网络管理子系统板载网口常常能自动 DHCPUSB 网卡和模组却经常是自己拉起来的旁路默认路由和 DNS 要另外处理。网关类产品买板时网口和 USB 口比 CPU 核数重要。采集和执行。I2C 上的温度、光感、血氧UART 上的定位和电台GPIO 上的继电器、电机、报警灯。这类设备以前用 Qt 加一堆/dev。开源鸿蒙上标准 Kit 覆盖不到的芯片仍然是 NAPI 去 open 节点但应用是 hap、要签名、进程不是 root。南向的工作量在「节点出现」和「应用读得到」之间。带预览的相机设备。门口机、扫码工位、检测工位。MIPI CSI 或 USB UVC经 ISP 或 UVC 进预览。花屏、偏暗、三条带多半不是传感器没起来是缓冲区写错、3A 没跑、格式和 stride 不一致。预览几何不正确后面任何识别模型都是吃噪声。教学和研发平台。一块核心板加底板引出 UART/I2C/SPI/GPIO插不同模块练总线和驱动。这组文章按芯片型号写模块不绑某一套外壳。总线对、芯片对就能对上号。轻量系统MCU、一百多 KB 内存做的是模组、传感器节点、简单穿戴没有这套桌面和 hap。小型系统做猫眼、IPC。这组文章只写标准系统要窗口、要 GPU 合成、要 ArkTS 应用。RK3568 属于这一档。为什么要做开源鸿蒙生态而不是只停在 Linux如果你的产品只是「内核起来、有个 Qt 窗口、能 ssh」继续用熟悉的嵌入式 Linux 完全成立。换开源鸿蒙通常是因为产品形态已经靠近「带应用框架的终端」而不只是「带网页或 Qt 的板子」。应用层是统一的。hap、Ability、ArkTS、权限和签名是一套跨设备的包格式。同一套应用模型可以从这块 RK3568 的屏对到别的标准系统设备上——前提是南向把 HDI 对齐了。相机、音频、窗口这些 Kit应用侧才能「一次开发」。HDI 没对齐ArkTS 写得再漂亮也是调空。南向做的就是把芯片接进这套接口。生态在要南向。屏厂、模组厂、做行业终端的团队需要的不是再发一份 Buildroot 镜像而是设备树、HDF、签名过的系统应用、能走 hdc 的调试链。你把 RK3568 上的显示、触摸、相机、网、外设走通后面换同档芯片改的是节点名和时钟不是世界观。这就是「做生态」在工程上的含义先有一块能被应用开发者用的板而不是只有内核开发者能用的板。分布式是后手不是第一周的主线。软总线、跨设备调度官方有专门文档。单机屏都不稳组网只是把不稳乘上 N。这组文章把单机做透分区、dtb、hap、预览。分布式点到为止。端侧模型、NPU、把相机帧送进推理放在预览稳定之后另写。和传统 Linux 不是对立。标准系统的内核就是 Linux 5.10。设备树、dmesg、示波器全部还在。多出来的是 init 配置、HDF、包管理、32 位 musl。你会写 C、会看原理图仍然可能在「刷哪一个分区」「so 是 32 位还是 64 位」上栽半天。栽了不要按发行版的经验继续加补丁按这组文章的分层往上爬。我在 RK3568 上走过的几件具体的事决定了后面为什么写得细dd写到/dev/mmcblk1p5会建成普通文件、md5 还对四颗灯一起灭是因为公版电源节点抢脚hap 没签或指纹对不上整卡刷桌面会一起没。这些不是奇闻是这套系统的路径就是这样长。先选档再选芯片开源鸿蒙能跑的芯片很多文档也因此分成三套口气。拿着 MCU 的轻量手册来对 RK3568 的桌面和 hap会对得很痛苦。档处理器官方最低内存你实际拿到的产品轻量Cortex-M / RISC-V128 KB 量级模组、节点、简单穿戴小型Cortex-A1 MB 量级猫眼、IPC、简单记录仪标准Cortex-A通常要 GPU写过 128 MB带桌面的屏、网关、本系列这条线后面所有文章默认你在标准系统、OpenHarmony 4.1、API 11。内核 Linux 5.10用户态 32 位 musl。RK3568 就是为这一档准备的。官方 128 MB 是「能起来」不是「能拿来开桌面和相机」。1 GB 会把时间耗在杀进程上。2 GB 起步4 GB 开预览更从容。标准系统板上要有什么CPU。四核 Cortex-A55、主频到 1.8 GHz 这一档。更弱的 A 核能编进内核滑动和预览会明显吃力。内存。桌面 2 GBMIPI/UVC 预览优先 4 GB。loader 要和颗粒匹配丝印 4G、loader 过旧可能只认出一部分。存储。eMMC 8 GB 能装系统16 GB 从容。另备 32 GB 以上 SD 卡刷可回滚的包。eMMC 别当草稿纸。GPU。窗口合成靠它。没有 GPU 的 A 核板不适合跟这组文章对练显示和应用。显示。至少一路能稳定出图。先定你手头是 HDMI、MIPI、LVDS 还是 RGB再看底板有没有座子。同一时刻通常只亮一路。调试。UART 控制台这块 BSP 上是1500000 8N1 USB OTGhdc。没有串口早期只能盯黑屏没有 OTG装应用绕远。USB Host。键鼠、U 盘、UVC、网卡走 Host。OTG 留给电脑。两个口不要混。触摸强烈建议有。没有的话 USB 鼠标也能点输入那几篇你只能旁观。为什么是 RK3568而不是一上来上旗舰它比 MCU 强很多完整桌面、相机、双千兆。又比旗舰便宜一截接口却齐——HDMI、MIPI DSI、LVDS、RGB、eDP显示相关的坑在一颗芯片上就能轮一遍。CSI、USB 3.0、CAN、UART/I2C/SPI 也不缺。更强的芯片解码更猛、NPU 更大适合多路相机和大模型。入门用不上价格和电源会先把人劝退。先在 RK3568 上把「dtb 怎么生效、hap 怎么签名、帧写在哪块内存」搞明白换同档芯片改节点名即可。NPU 有更好没有也能在 CPU 上跑量化小模型做演示。那是后续端侧智能篇的事不作为现在能不能学的门槛。按你要做的产品选只写应用。一块已经能进开源鸿蒙桌面的 RK3568带屏带触摸2 GB。Windows 装 DevEco 和 hdc不一定先编内核。要改设备树、点亮自己的屏和外设。必须有串口、OTG、能自己刷启动介质。还要一台 Ubuntu电脑内存 16 GB 能编32 GB 舒服内核 LTO 不够会 137 被杀磁盘 300 GB SSD。板子 2 GB 和电脑 16 GB 是两回事。工业屏。关心 LVDS/eDP 是否长期稳定、电源、双网口。触摸方案和屏一起定。带预览的相机。CSI 或可靠 UVC内存尽量 4 GB。先几何正确再谈识别。网关。网口和 USB 口比核数重要。蜂窝模组先看枚举出来是wwan0QMI还是usb0NCM。端侧检测。RK3568 够把「帧进、小模型出、框画回预览」跑通。更大模型再换同系列更强芯片。都先把预览跑正常。不适合对练这组文章的纯 MCU、只有几百 MB 又要开标准桌面和相机、没有串口也没有 OTG、只能用封闭工具刷一次出厂包。编译发生在电脑上OpenHarmony 4.1 标准系统在 Linux 里编。Windows 编应用、烧板、看日志。Ubuntu 22.04用户名不要中文和空格。板子用 USB 连 hdc、用串口看启动。镜像从编译机拷出来时带 md5不要只留在out/。起步可以只备这些RK3568 核心板内存 2 GB 或 4 GB配底板一块屏接口先定一种带电容触摸更好USB 转串口要能稳定跑1500000不少「115200 专用」线到 1.5 Mbps 会乱码能传数据的 USB 线插 OTG质量可靠的 SD 卡32 GB 以上USB 摄像头、一颗 I2C 温度芯片、一个 USB 网卡有就练。没有不影响先点亮桌面。桌面是后面所有外设的乘法。买之前对照底板丝印调试口、OTG、你的屏插哪。丝印和文档打架时以板上的字为准。下一篇把标准系统的分层和三档再展开一次然后从 Windows 工具链进到刷机。
延伸阅读

更多相关文章

2026/10/15 9:51:21

从绿色GDP到数据建模:美赛F题实战中的指标体系构建与模型应用

1. 从“绿色GDP”到美赛F题:一次数据建模的深度实战复盘去年带队参加美赛,选题时看到F题“Green GDP”的瞬间,心里就咯噔了一下。这题目,听起来宏大又抽象,不像一些优化或预测题那样有明确的数学模型可以套用。当时团队…

2026/10/14 2:47:07

比特率与波特率:从概念到工程实践,详解通信速率核心差异

1. 从一次串口通信调试的“灵异事件”说起几年前,我在调试一个嵌入式设备的串口通信模块时,遇到一个让人挠头的现象:上位机软件明明设置了115200的波特率,设备也配置了相同的参数,但接收到的数据每隔几十个字节就会出现…

2026/10/15 18:53:20

一周掌握企业级应用部署:从Linux到Docker与监控实战

1. 先搞清楚“一周吃透”到底要解决什么问题看到“一周吃透运维核心技能”这种标题,很多人的第一反应是怀疑:运维这么庞杂的领域,怎么可能一周就吃透?这恰恰是我们要先拆解清楚的地方。这个主题的核心,不是让你在一周内…

2026/10/17 0:39:38

操作系统I/O系统详解:从设备控制器到SPOOLing技术

1. 为什么I/O系统是操作系统里最“接地气”的章节很多人学操作系统,前面几章讲进程调度、内存管理、文件系统,还能靠画状态图、算页面置换勉强跟上。一到第六章输入输出系统,画风突变:一堆控制器、总线、中断、DMA、设备驱动、缓冲…

2026/10/17 0:39:38

华为桌面云部署与性能调优实战经验分享

1. 桌面云到底解决了什么问题第一次接触桌面云这个概念,很多人脑子里冒出来的第一个疑问就是:这东西跟远程桌面有什么区别?我直接装个远程控制软件不就行了吗?说实话,我刚开始也是这么想的。直到有一次参与了一个终端集…

2026/10/17 0:39:38

ThinkPHP6插件化实战:think-addons实现模块解耦与钩子扩展

简介:think-addons 是一套专为 ThinkPHP6 打造的插件扩展包,面向需要将业务模块按插件化方式拆分、降低模块耦合、统一扩展入口的 PHP 开发者。其核心价值在于:安装后能在配置目录自动生成插件配置文件,也支持通过命令行指令手动创…

2026/10/17 0:39:38

SpringBoot+Freemarker模板生成Word:告别POI手拼报表合同

简介:面向后端Java开发者的Spring Boot整合FreeMarker生成Word文档示例工程,解决在项目中按模板动态输出报告、合同等文档并将图片嵌入Word的需求。资源包共30个文件,涵盖Java源码与编译后的class文件、FreeMarker的ftl模板、XML配置、proper…

2026/10/17 0:39:38

JDK 1.8 下载安装全攻略:从选型到环境变量配置避坑指南

简介:Java JDK 1.8完整开发工具包,面向需要搭建Java 8开发环境或学习该经典版本的开发者与初学者。资源内置标准JDK组件,包括编译器、运行虚拟机、核心类库以及常用命令行工具,能够满足企业级应用开发、课程实验、项目维护等多种场…

2026/10/17 0:34:38

降维实战:从PCA到SVD与LDA的完整推导与工程陷阱

降维这个主题,我在学的时候绕了不少弯路。课本上堆了一堆公式,但没人告诉我这些公式到底在干什么。后来自己动手推了一遍,又把主成分分析(PCA)、奇异值分解(SVD)和线性判别分析(LDA&…

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/17 0:04:32

PlanarSLAM:面向曼哈顿世界的点线面联合SLAM系统

简介:本资源是面向机器人视觉与SLAM研究者的C开源RGB-D SLAM系统实现,专为结构化室内场景(如办公室、走廊)设计,通过融合点、线、平面三类几何特征并引入“曼哈顿世界”假设,显著提升位姿跟踪鲁棒性与稠密地…

2026/10/17 0:04:32

TDH Workflow调度实战:从DAG依赖驱动到任务编排与故障排查

1. 从一个调度脚本说起:TDH Workflow到底在解决什么问题第一次接触TDH的Workflow,是在一个数据清洗项目里。当时团队每天要跑几十个ETL任务,任务之间有严格的先后依赖——A表清洗完才能跑B表的关联,B表跑完才能触发C表的聚合。最开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑