当前位置: 首页 > news >正文

为什么做开源鸿蒙,以及选一块什么样的板-【万物智能之开源鸿蒙 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.1,API 11。你手头若是同档 Cortex-A、同样跑标准系统,路径名可能不同,判断问题的方法是一样的。

下面先把三件事说清楚:开源鸿蒙能用在哪、为什么值得在这条生态上做南向,以及你该买什么样的板。选错档,后面 70 篇的命令会对不上。


开源鸿蒙能用在哪

官方把它定义成面向全场景的智能终端操作系统。落到工程上,不要把「全场景」当成一次做完的功能清单。按设备形态,常见就是这几类。

带屏的人机界面。产线操作员看的 7 寸、10 寸屏,楼宇门口机,仓储终端,充电桩和充电柜的面板,医疗监护仪的显示部分。RK3568 的 VOP2 能出 HDMI、MIPI、LVDS、RGB、eDP,正好覆盖从调试显示器到工业玻璃的几种接法。同一时刻通常只能把一路当主屏——这是后面显示那几篇的核心约束,也是这类产品最容易踩的坑。

边缘网关和联网终端。双千兆、USB 上网卡、4G/5G 模组。车间里网线优先,户外屏和巡检车靠蜂窝。开源鸿蒙标准系统有网络管理子系统,板载网口常常能自动 DHCP;USB 网卡和模组却经常是自己拉起来的旁路,默认路由和 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 GB;MIPI/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 OTG(hdc)。没有串口,早期只能盯黑屏;没有 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 口比核数重要。蜂窝模组先看枚举出来是wwan0(QMI)还是usb0(NCM)。

端侧检测。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 工具链进到刷机。

http://www.cnnetsun.cn/news/4169643.html

相关文章:

  • Revit建筑设计思维:从参数化关联到BIM工作流的高效学习指南
  • debug.exe官方版
  • DeepSeek Harness:AI智能体工程化框架实战部署与核心功能验证
  • 嵌入式开发学习记录:USART串口通信
  • 物理审计智能体发现:让AI科学探索既高效又守规矩
  • Agent跑通Demo后崩了?小团队如何聪明做工程化
  • 后端开发常见误区盘点:如何写出更稳健的接口代码
  • 嵌入式系统核心解析:MCU、MPU与SoC的本质区别与应用选型
  • Ornith-1.5 号称自改进:但它真的不是「自己给自己出题自己给自己打满分」?
  • 学生党开学季显示器选购指南:泰坦军团26款型号深度解析
  • 大厂 MCP 面试实录:可复用模板工作流与向量检索结合方案设计
  • 卖货难、招商难、运营难:你的私域系统真的在解决问题吗?
  • 从 Scratch 到 NOI:一套能走通的科技特长生培养路径
  • 爬虫老手转大模型:数据能力凭什么从采集变成 RAG 的护城河
  • 数学建模期末高效复习:从知识地图到代码模板的实战指南
  • AI大模型人才争夺战:技能要求与求职指南
  • 小批量梯度下降(MBGD)原理、实现与调优:从数学建模到深度学习实战
  • C++可变参数模板深度解析:从习题到工程实践
  • LangChain.js与Nuxt.js:AI全栈开发实战与招聘风向解读
  • Rust专属招聘平台RustyBoard的技术架构与实现
  • FCL启动器全面指南:从零搭建与管理Minecraft模组环境
  • 聚宽、米筐、掘金、优矿与QMT参数迁移:类型、单位和默认值必须同存
  • GitHub大项目断点续传实战:从浅克隆到渐进式获取的完整方案
  • Kafka Producer事务与幂等性原理及生产实践
  • Windows 11虚拟机搭建指南:VMware Workstation安全测试环境配置
  • Windows账户锁定策略详解与实战解锁指南
  • Grok 4.6多模态大模型实测:中文语音、代码生成与本地部署指南
  • 从LLM API窃取推理轨迹:安全风险与模拟验证
  • Git指令速查表:从核心概念到实战场景的高效开发指南
  • 多尺度混合世界模型:让AI在动态环境中稳健学习与决策