一,内核
一、Linux 内核(宏内核)
类型:宏内核(Monolithic)
手机、服务器、PC 通用内核,鸿蒙“标准系统”(手机/平板/智慧屏)用它。
所有核心功能都塞进内核:进程、内存、文件系统、网络、驱动都在内核态。
特点性能高(不用频繁跨态)、生态极强、稳定成熟。
体积大(MB 级,千万行代码)、耦合高、一个模块崩可能整个系统挂 。
实时性一般,要打补丁才能硬实时 。
一句话:全能但笨重,适合资源足、要兼容安卓的设备。
二、LiteOS 内核(鸿蒙轻量实时内核)
类型:轻量级实时内核(偏“宏”但极简)
- 华为自研,鸿蒙“轻量系统”用在手表、手环、传感器等 IoT 设备。
- 比 Linux 小很多,比纯微内核功能多一点,主打低功耗+硬实时 。
特点
体积小(几十~几百 KB)、启动快、功耗极低 。 - 硬实时(微秒级调度),适合工业/传感器/穿戴设备 。
- 功能精简,无完整 Linux 生态,主要跑鸿蒙原生应用。
一句话:轻量省电、实时强,给小设备用的“精简版内核”。
三、鸿蒙微内核(HarmonyOS Microkernel)
类型:纯微内核(Microkernel) - 鸿蒙未来主力内核,目前在极简设备/安全场景推进。
- 内核只留最核心:线程调度、IPC、基础内存管理;文件/驱动/网络全放到用户态服务。
特点
极小(KB 级,约万行代码)、攻击面极小、安全高 。 - 故障隔离:一个服务崩只影响自己,不挂系统。
- 硬实时(调度延迟 <20μs)、分布式友好(内核级支持软总线) 。
- IPC 有少量开销,生态正在完善 。
一句话:小、安全、稳、实时,面向未来全场景的“水密舱”内核。
四、
Linux:兼容安卓生态,手机/大屏先用着。
- LiteOS:先覆盖海量轻量 IoT 设备,低功耗+实时。
- 鸿蒙微内核:终极形态,统一全设备,安全+分布式+实时。
一句话总结:Linux 管生态,LiteOS 管轻量,微内核管未来。
二,鸿蒙硬件
一、鸿蒙整体架构
四层架构,自下而上:
- 内核层:多内核(Linux、LiteOS、微内核),KAL 屏蔽差异 。
- 驱动层(HDF):鸿蒙驱动框架,统一硬件接口 。
- 系统服务层:分布式软总线、设备管理、电源管理等 。
- 应用层:调用硬件能力(传感器、相机、外设) 。
二、内核与芯片适配
1)内核类型
- Linux 内核:手机、平板、智慧屏(富设备) 。
- LiteOS 内核:IoT、穿戴、智能家居(轻量,KB~MB 级) 。
- 鸿蒙微内核:极简设备、实时性要求高的场景 。
2)主流芯片/开发板 - Hi3861:Wi‑Fi IoT,LiteOS,开发板便宜、入门首选 。
- Hi3516/3518:IPC、摄像头、多媒体 。
- RK2206(小凌派):轻量AI、语音、IoT 。
- RK3399:开源适配,平板/盒子 。
- 麒麟990A:车规级,智能座舱 。
3)指令集 - ARMv8‑A/ARMv9:手机/平板主流 。
- RISC‑V:Hi3861等IoT芯片(64GC) 。
- x86_64:PC 兼容 。
三、HDF 驱动框架(硬件开发核心)
1)HDF 作用
统一驱动接口:不管什么芯片,上层调用接口一致 。 - 支持动态加载、热插拔、电源管理 。
- 分层:核心层 → 适配层 → 硬件接口层 。
2)HDF 驱动开发流程(面试常问)
- 定义设备节点(设备树/配置)
- 实现 DriverEntry(绑定、初始化、释放)
- 实现 硬件操作接口(read/write/ioctl)
- 注册到 HDF 框架
- 上层通过 DevMgr 或 统一接口调用
3)HDF 核心概念
- 设备对象(Device):代表一个硬件设备
- 服务(Service):对外提供的能力
- 配置(HCS):替代设备树,轻量、易读
- 平台驱动、外设驱动、传感器驱动分类
四、硬件抽象层 HAL - HAL:隔离内核驱动与系统服务/应用。
- 提供 标准化 API(如传感器、GPIO、I2C、SPI、UART)。
- 开发顺序:HDF → HAL → 系统服务 → 应用。
五、常用外设与总线
1)基础外设
GPIO:输入输出、按键、LED
- UART:串口、调试、蓝牙模块
- I2C:传感器(温湿度、加速度)、OLED
- SPI:高速、LCD、Flash
- PWM:调光、电机
- ADC/DAC:模拟量采集/输出
2)传感器(鸿蒙重点) - 运动:加速度、陀螺仪、地磁
- 环境:温湿度、气压、光感
- 生物:心率、指纹
- 调用方式:SensorManager → 订阅事件 → 回调 。
六、分布式硬件能力
1)分布式软总线 - 设备自动发现、自组网、低时延 。
- 多协议融合:Wi‑Fi、BLE、NFC、以太网 。
- 虚拟成超级终端,硬件能力共享(如调用手机摄像头) 。
2)分布式设备虚拟化
跨设备调用硬件:A设备用B设备的传感器/屏幕/音箱 。
七、开发环境与工具
DevEco Device Tool:硬件开发、编译、烧录、调试(VS Code 插件) 。 - 编译构建:hb build(鸿蒙构建工具)
- 调试:J‑Link、OpenOCD、串口日志
八、常见硬件开发场景
- IoT 设备:Hi3861 + GPIO/传感器 + Wi‑Fi + 软总线
- 智能摄像头:Hi3516 + 视频编解码 + 网口
- 穿戴设备:LiteOS + 低功耗 + 传感器 + 蓝牙
- 外设驱动移植:基于 HDF 适配新芯片/模组