第1 章 OpenHarmony 系统概述 ……………………………………………………… 001
1. 1 新一代操作系统的现状和发展趋势 ………………………………………………… 001
1. 2 OpenHarmony 初识 …………………………………………………………………… 002
1. 2. 1 OpenHarmony 的背景 …………………………………………………………… 002
1. 2. 2 OpenHarmony 的定位和优势 …………………………………………………… 002
1. 2. 3 OpenHarmony 的整体介绍 ……………………………………………………… 003
1. 3 思考和练习 …………………………………………………………………………… 008
拓展材料———开源模式和开源组织………………………………………………………… 009
第2 章 内核子系统 ……………………………………………………………………… 012
2. 1 内核子系统概述 ……………………………………………………………………… 012
2. 1. 1 内核子系统简介 ………………………………………………………………… 012
2. 1. 2 轻量级内核简介 ………………………………………………………………… 014
2. 2 轻量级系统内核功能概述 …………………………………………………………… 016
2. 2. 1 基础内核 ………………………………………………………………………… 016
2. 2. 2 内核扩展模块 …………………………………………………………………… 040
2. 2. 3 KAL 内核抽象层 ………………………………………………………………… 043
2. 3 思考和练习 …………………………………………………………………………… 043
第3 章 驱动子系统 ……………………………………………………………………… 044
3. 1 驱动子系统概述 ……………………………………………………………………… 044
3. 1. 1 驱动概述 ………………………………………………………………………… 044
3. 1. 2 HDF 驱动框架 …………………………………………………………………… 045
3. 1. 3 HDF 驱动开发流程 ……………………………………………………………… 045
3. 2 总线驱动概述 ………………………………………………………………………… 049
3. 2. 1 ADC 概述 ………………………………………………………………………… 049
3. 2. 2 GPIO 概述………………………………………………………………………… 049
3. 2. 3 I2C 概述 ………………………………………………………………………… 050
3. 2. 4 UART 概述 ……………………………………………………………………… 051
3. 2. 5 SPI 概述 ………………………………………………………………………… 052
3. 2. 6 RTC 概述 ………………………………………………………………………… 053
3. 2. 7 WatchDog 概述 …………………………………………………………………… 053
3. 2. 8 PWM 概述………………………………………………………………………… 054
3. 2. 9 SDIO 概述………………………………………………………………………… 054
3. 3 思考和练习 …………………………………………………………………………… 055
第4 章 分布式子系统 …………………………………………………………………… 056
4. 1 分布式软总线 ………………………………………………………………………… 060
4. 1. 1 概述 ……………………………………………………………………………… 060
4. 1. 2 基本概念 ………………………………………………………………………… 060
4. 1. 3 基本原理和实现 ………………………………………………………………… 061
4. 1. 4 应用场景 ………………………………………………………………………… 066
4. 2 分布式设备管理 ……………………………………………………………………… 067
4. 2. 1 概述 ……………………………………………………………………………… 067
4. 2. 2 基本概念 ………………………………………………………………………… 067
4. 2. 3 基本原理和实现 ………………………………………………………………… 067
4. 2. 4 应用场景 ………………………………………………………………………… 070
4. 3 分布式数据管理 ……………………………………………………………………… 070
4. 3. 1 概述 ……………………………………………………………………………… 070
4. 3. 2 基本概念 ………………………………………………………………………… 071
4. 3. 3 基本原理和实现 ………………………………………………………………… 072
4. 3. 4 应用场景 ………………………………………………………………………… 078
4. 4 分布式任务调度 ……………………………………………………………………… 079
4. 4. 1 概述 ……………………………………………………………………………… 079
4. 4. 2 基本概念 ………………………………………………………………………… 079
4. 4. 3 基本原理和实现 ………………………………………………………………… 080
4. 4. 4 应用场景 ………………………………………………………………………… 084
4. 5 思考和练习 …………………………………………………………………………… 085
第5 章 UI 框架 …………………………………………………………………………… 086
5. 1 UI 框架概述 …………………………………………………………………………… 086
5. 1. 1 UI 框架的定义 …………………………………………………………………… 086
5. 1. 2 UI 框架的分类与发展趋势 ……………………………………………………… 086
5. 2 基本原理和实现 ……………………………………………………………………… 088
5. 2. 1 总体架构 ………………………………………………………………………… 088
5. 2. 2 基本原理 ………………………………………………………………………… 089
5. 2. 3 整体流程 ………………………………………………………………………… 090
5. 3 UI 组件定制 …………………………………………………………………………… 095
5. 3. 1 UI 组件的注册 …………………………………………………………………… 095
5. 3. 2 UI 组件的实现 …………………………………………………………………… 095
5. 3. 3 UI 组件定制实例 ………………………………………………………………… 096
5. 4 思考和练习 …………………………………………………………………………… 107
第6 章 Ability 框架 ……………………………………………………………………… 108
6. 1 Ability 框架概述 ……………………………………………………………………… 108
6. 1. 1 Ability 框架的定义 ……………………………………………………………… 108
6. 1. 2 Ability 框架的基本概念 ………………………………………………………… 108
6. 2 基本原理与实现 ……………………………………………………………………… 109
6. 2. 1 Ability 框架总体架构 …………………………………………………………… 109
6. 2. 2 Ability 框架功能简介 …………………………………………………………… 111
6. 2. 3 Ability 框架启动流程 …………………………………………………………… 116
6. 2. 4 Ability 框架工具模块 …………………………………………………………… 130
6. 3 思考和练习 …………………………………………………………………………… 132
第7 章 图形子系统 ……………………………………………………………………… 133
7. 1 图形子系统概述 ……………………………………………………………………… 133
7. 1. 1 图形子系统定义 ………………………………………………………………… 133
7. 1. 2 图形子系统基本概念 …………………………………………………………… 134
7. 2 基本原理与实现 ……………………………………………………………………… 134
7. 2. 1 图形子系统总体架构 …………………………………………………………… 134
7. 2. 2 图形子系统的功能 ……………………………………………………………… 136
7. 2. 3 开机动画启动流程 ……………………………………………………………… 155
7. 3 Wayland 和 Weston 概述 ……………………………………………………………… 161
7. 3. 1 Wayland 概述 …………………………………………………………………… 161
7. 3. 2 Weston 概述 ……………………………………………………………………… 162
7. 4 思考和练习 …………………………………………………………………………… 168
第8 章 短距离通信子系统———蓝牙 ………………………………………………… 169
8. 1 蓝牙子系统概述 ……………………………………………………………………… 169
8. 1. 1 蓝牙子系统的定义 ……………………………………………………………… 169
8. 1. 2 蓝牙子系统的基本概念 ………………………………………………………… 169
8. 2 基本原理和实现 ……………………………………………………………………… 171
8. 2. 1 蓝牙子系统总体架构 …………………………………………………………… 171
8. 2. 2 蓝牙子系统的功能 ……………………………………………………………… 172
8. 2. 3 本地蓝牙使能流程 ……………………………………………………………… 186
8. 3 部分应用场景 ………………………………………………………………………… 199
8. 3. 1 Host 管理 ………………………………………………………………………… 199
8. 3. 2 BLE 扫描和广播 ………………………………………………………………… 201
8. 3. 3 GATT 管理 ……………………………………………………………………… 205
8. 4 思考和练习 …………………………………………………………………………… 212
第9 章 短距离通信子系统———WiFi ………………………………………………… 213
9. 1 WiFi 子系统概述 ……………………………………………………………………… 213
9. 1. 1 WiFi 子系统的定义 ……………………………………………………………… 213
9. 1. 2 WiFi 子系统的基本概念 ………………………………………………………… 213
9. 1. 3 WiFi 网络安全技术 ……………………………………………………………… 217
9. 2 基本原理和实现 ……………………………………………………………………… 217
9. 2. 1 WiFi 子系统总体架构 …………………………………………………………… 217
9. 2. 2 WiFi 子系统的功能 ……………………………………………………………… 219
9. 3 工作模式 ……………………………………………………………………………… 235
9. 3. 1 STATION 模式 …………………………………………………………………… 235
9. 3. 2 AP 模式…………………………………………………………………………… 243
9. 3. 3 P2P 模式 ………………………………………………………………………… 244
9. 4 思考和练习 …………………………………………………………………………… 248
第10 章 传感器子系统…………………………………………………………………… 249
10. 1 传感器系统概述……………………………………………………………………… 249
10. 1. 1 传感器系统的定义……………………………………………………………… 249
10. 1. 2 传感器系统的基本概念………………………………………………………… 250
10. 2 基本原理和实现……………………………………………………………………… 254
10. 2. 1 传感器系统总体架构…………………………………………………………… 254
10. 2. 2 传感器系统的功能……………………………………………………………… 255
10. 2. 3 传感器订阅与回传流程介绍…………………………………………………… 263
10. 3 应用场景……………………………………………………………………………… 282
10. 4 思考和练习…………………………………………………………………………… 284
第11 章 应用开发实战…………………………………………………………………… 285
11. 1 北向应用开发环境 IDE …………………………………………………………… 285
11. 1. 1 北向应用开发环境 IDE 概述…………………………………………………… 285
11. 1. 2 北向应用开发环境搭建………………………………………………………… 285
11. 2 北向应用 “你好世界” 示例 ……………………………………………………… 296
11. 3 南向应用 “蜜雪冰城” 示例 ……………………………………………………… 311
11. 3. 1 基础知识………………………………………………………………………… 311
11. 3. 2 代码编写………………………………………………………………………… 315
11. 4 思考和练习…………………………………………………………………………… 320
参考文献 ……………………………………………………………………………………… 321