- 清华大学出版社
- 9787302630135
- 1-1
- 463892
- 48254543-1
- 16开
- 2023-05
- 计算机
- 本科
作者简介
内容简介
《鸿蒙——嵌入式系统设计与应用》系统地介绍了嵌入式系统的基本原理和基础知识,详细讲述了ARM处理器、ARM指令集、鸿蒙应用程序开发基础、DevEco Studio开发平台应用基础及嵌入式系统开发等相关知识,包括处理器架构、存储器管理、内核介绍、ARM指令的寻址方式、ARM指令简介、常见嵌入式操作系统介绍、原子化服务、DevEco Studio应用服务开发、Ability框架、媒体开发、AI开发等内容。同时,对嵌入式操作系统、鸿蒙OS数据库开发等做了简明阐述,最后还列举了嵌入式系统设计开发案例。 《鸿蒙——嵌入式系统设计与应用》以鸿蒙操作系统为基础,列举了大量实例及源代码,并配有完整的教学资源,包括PPT课件、习题集及参考答案、程序源代码等。 《鸿蒙——嵌入式系统设计与应用》可作为高等院校计算机、电子、自动化、仪器仪表等专业嵌入式系统、物联网、移动终端开发、鸿蒙应用程序设计等课程的教材,也可作为广大从事ARM和物联网应用系统开发的工程技术人员的参考用书。
目录
目 录
第1章 嵌入式系统概述 1
1.1 嵌入式系统简介 2
1.1.1 嵌入式系统的定义及特点 2
1.1.2 嵌入式系统的相关概念 3
1.1.3 嵌入式系统的组成 9
1.1.4 嵌入式系统的种类 13
1.2 嵌入式系统的应用领域和发展趋势 14
1.2.1 嵌入式系统的应用领域 14
1.2.2 嵌入式系统的发展趋势 15
习题 16
第2章 ARM处理器 17
2.1 ARM处理器概述 18
2.1.1 ARM处理器简介 18
2.1.2 ARM指令集架构及其发展 19
2.1.3 ARM处理器工作模式 24
2.2 ARM处理器的架构 26
2.3 ARM处理器的存储器管理 26
2.3.1 ARM的基本数据类型 26
2.3.2 大/小端存储模式 27
2.3.3 寄存器组 28
2.4 ARM处理器内核及典型技术 30
2.4.1 ARM处理器内核 30
2.4.2 ARM处理器采用的其他
指令集 35
2.4.3 ARM处理器内核应用选型 35
习题 36
第3章 ARM指令集 37
3.1 ARM指令集概述 38
3.1.1 ARM指令格式 38
3.1.2 ARM指令的条件码 38
3.2 ARM指令的寻址方式 39
3.2.1 立即寻址 39
3.2.2 寄存器寻址 40
3.2.3 寄存器间接寻址 40
3.2.4 寄存器移位寻址 40
3.2.5 变址寻址 40
3.2.6 多寄存器寻址 41
3.2.7 相对寻址 41
3.2.8 堆栈寻址 41
3.2.9 块复制寻址 42
3.3 ARM指令简介 43
3.3.1 数据处理指令 43
3.3.2 跳转指令 44
3.3.3 程序状态寄存器(PSR)处理
指令 45
3.3.4 加载/存储(Load/Store)指令 46
3.3.5 协处理器指令 49
3.3.6 异常产生指令 49
3.4 C语言与汇编语言的混合编程 49
习题 52
第4章 嵌入式操作系统 53
4.1 常见的嵌入式操作系统 54
4.1.1 Android 54
4.1.2 VxWorks 55
4.1.3 Linux 55
4.1.4 FreeRTOS 56
4.1.5 ThreadX 57
4.1.6 鸿蒙操作系统 57
4.2 Android操作系统简介 57
4.2.1 Android操作系统的前世
今生 57
4.2.2 Android操作系统的架构 58
4.2.3 Android操作系统的特性 60
4.2.4 Android组件 61
4.3 鸿蒙操作系统简介 62
4.3.1 系统定义 62
4.3.2 技术特性 63
4.3.3 系统安全 67
习题 69
第5章 鸿蒙应用程序开发基础 71
5.1 应用基础知识 72
5.1.1 用户应用程序 72
5.1.2 用户应用程序包结构 72
5.1.3 Ability 72
5.1.4 库文件 73
5.1.5 资源文件 73
5.1.6 配置文件 73
5.1.7 pack.info 73
5.1.8 HAR 73
5.2 应用配置文件 73
5.2.1 配置文件简介 73
5.2.2 配置文件的元素 74
5.3 资源文件 76
5.3.1 资源文件的分类 76
5.3.2 资源文件的使用 79
习题 80
第6章 DevEco Studio开发平台
应用基础 81
6.1 DevEco Studio工具简介 82
6.1.1 DevEco Studio工具特点 82
6.1.2 HarmonyOS应用/服务开发
流程 83
6.2 开发准备 84
6.2.1 开发说明 84
6.2.2 搭建开发环境流程 85
6.2.3 下载与安装软件 86
6.2.4 配置开发环境 86
6.3 工程管理 92
6.3.1 HarmonyOS APP工程结构 92
6.3.2 工程模板和开发语言介绍 96
6.3.3 创建一个新的工程 98
6.3.4 适配历史工程 99
6.3.5 导入Sample工程 100
6.3.6 添加/删除Module 101
6.4 应用/服务开发 103
6.4.1 编辑器使用技巧 103
6.4.2 使用低代码进行开发 105
6.4.3 在模块中添加Ability 112
6.4.4 添加JS Component和
JS Page 113
6.4.5 跨设备代码编辑 113
6.4.6 定义HarmonyOS IDL接口 115
6.4.7 开发服务卡片 116
6.4.8 使用预览器查看应用/服务
效果 117
6.4.9 将SVG文件转换为XML
文件 124
6.5 编译构建 124
6.5.1 编译构建概述 124
6.5.2 编译构建前配置 125
6.5.3 编译构建生成HAP 126
6.6 应用/服务运行 128
6.6.1 使用模拟器运行应用/服务 128
6.6.2 使用远程真机运行
应用/服务 130
6.6.3 在Phone和Tablet中运行
应用/服务 131
6.7 使用Java语言开发 132
6.7.1 编写第一个页面 132
6.7.2 编写另一个页面 134
6.7.3 实现页面跳转 134
6.8 使用JS语言开发(低代码方式) 134
6.8.1 创建JS工程 135
6.8.2 创建第一个页面 135
6.8.3 创建另一个页面 136
6.8.4 实现页面跳转 137
习题 138
第7章 嵌入式系统开发 139
7.1 原子化服务概述 140
7.1.1 什么是原子化服务 140
7.1.2 原子化服务特征 140
7.1.3 原子化服务基础体验 141
7.1.4 原子化服务典型使用场景 142
7.1.5 原子化服务开发流程 142
7.1.6 总体开发要求 143
7.1.7 便捷服务基础信息开发
指导 144
7.2 Ability框架 146
7.2.1 Ability 146
7.2.2 公共事件与通知 161
7.2.3 后台任务调度和管控 170
7.2.4 线程管理 174
7.2.5 线程间通信 177
7.2.6 剪贴板 182
7.3 用户界面UI 184
7.3.1 Java UI框架 184
7.3.2 多模输入 214
7.4 媒体开发 217
7.4.1 视频开发 217
7.4.2 图像开发 222
7.4.3 相机开发 224
7.4.4 音频开发 230
7.5 安全相关 233
7.5.1 权限开发 233
7.5.2 生物特征识别开发 239
7.6 AI开发 241
7.6.1 码生成 241
7.6.2 通用文字识别 243
7.6.3 语音识别 246
7.6.4 语音播报 248
7.7 网络与连接 249
7.7.1 NFC开发 249
7.7.2 蓝牙开发 255
7.7.3 WLAN开发 258
7.8 设备管理 262
7.8.1 传感器开发 262
7.8.2 控制类小器件开发 265
习题 268
第8章 鸿蒙OS数据库开发 269
8.1 关系型数据库 270
8.1.1 关系型数据库概述 270
8.1.2 关系型数据库开发 270
8.2 对象关系映射数据库 272
8.2.1 对象关系映射数据库概述 272
8.2.2 对象关系映射数据库开发 274
8.3 轻量级数据存储 278
8.3.1 轻量级数据存储概述 278
8.3.2 轻量级数据存储开发 279
习题 282
第9章 嵌入式系统设计开发案例 283
9.1 基于HarmonyOS获取设备位置 284
9.2 基于HarmonyOS的人脸识别 284
参考书目及相关网站 285
参考答案 286
第1章 嵌入式系统概述 1
1.1 嵌入式系统简介 2
1.1.1 嵌入式系统的定义及特点 2
1.1.2 嵌入式系统的相关概念 3
1.1.3 嵌入式系统的组成 9
1.1.4 嵌入式系统的种类 13
1.2 嵌入式系统的应用领域和发展趋势 14
1.2.1 嵌入式系统的应用领域 14
1.2.2 嵌入式系统的发展趋势 15
习题 16
第2章 ARM处理器 17
2.1 ARM处理器概述 18
2.1.1 ARM处理器简介 18
2.1.2 ARM指令集架构及其发展 19
2.1.3 ARM处理器工作模式 24
2.2 ARM处理器的架构 26
2.3 ARM处理器的存储器管理 26
2.3.1 ARM的基本数据类型 26
2.3.2 大/小端存储模式 27
2.3.3 寄存器组 28
2.4 ARM处理器内核及典型技术 30
2.4.1 ARM处理器内核 30
2.4.2 ARM处理器采用的其他
指令集 35
2.4.3 ARM处理器内核应用选型 35
习题 36
第3章 ARM指令集 37
3.1 ARM指令集概述 38
3.1.1 ARM指令格式 38
3.1.2 ARM指令的条件码 38
3.2 ARM指令的寻址方式 39
3.2.1 立即寻址 39
3.2.2 寄存器寻址 40
3.2.3 寄存器间接寻址 40
3.2.4 寄存器移位寻址 40
3.2.5 变址寻址 40
3.2.6 多寄存器寻址 41
3.2.7 相对寻址 41
3.2.8 堆栈寻址 41
3.2.9 块复制寻址 42
3.3 ARM指令简介 43
3.3.1 数据处理指令 43
3.3.2 跳转指令 44
3.3.3 程序状态寄存器(PSR)处理
指令 45
3.3.4 加载/存储(Load/Store)指令 46
3.3.5 协处理器指令 49
3.3.6 异常产生指令 49
3.4 C语言与汇编语言的混合编程 49
习题 52
第4章 嵌入式操作系统 53
4.1 常见的嵌入式操作系统 54
4.1.1 Android 54
4.1.2 VxWorks 55
4.1.3 Linux 55
4.1.4 FreeRTOS 56
4.1.5 ThreadX 57
4.1.6 鸿蒙操作系统 57
4.2 Android操作系统简介 57
4.2.1 Android操作系统的前世
今生 57
4.2.2 Android操作系统的架构 58
4.2.3 Android操作系统的特性 60
4.2.4 Android组件 61
4.3 鸿蒙操作系统简介 62
4.3.1 系统定义 62
4.3.2 技术特性 63
4.3.3 系统安全 67
习题 69
第5章 鸿蒙应用程序开发基础 71
5.1 应用基础知识 72
5.1.1 用户应用程序 72
5.1.2 用户应用程序包结构 72
5.1.3 Ability 72
5.1.4 库文件 73
5.1.5 资源文件 73
5.1.6 配置文件 73
5.1.7 pack.info 73
5.1.8 HAR 73
5.2 应用配置文件 73
5.2.1 配置文件简介 73
5.2.2 配置文件的元素 74
5.3 资源文件 76
5.3.1 资源文件的分类 76
5.3.2 资源文件的使用 79
习题 80
第6章 DevEco Studio开发平台
应用基础 81
6.1 DevEco Studio工具简介 82
6.1.1 DevEco Studio工具特点 82
6.1.2 HarmonyOS应用/服务开发
流程 83
6.2 开发准备 84
6.2.1 开发说明 84
6.2.2 搭建开发环境流程 85
6.2.3 下载与安装软件 86
6.2.4 配置开发环境 86
6.3 工程管理 92
6.3.1 HarmonyOS APP工程结构 92
6.3.2 工程模板和开发语言介绍 96
6.3.3 创建一个新的工程 98
6.3.4 适配历史工程 99
6.3.5 导入Sample工程 100
6.3.6 添加/删除Module 101
6.4 应用/服务开发 103
6.4.1 编辑器使用技巧 103
6.4.2 使用低代码进行开发 105
6.4.3 在模块中添加Ability 112
6.4.4 添加JS Component和
JS Page 113
6.4.5 跨设备代码编辑 113
6.4.6 定义HarmonyOS IDL接口 115
6.4.7 开发服务卡片 116
6.4.8 使用预览器查看应用/服务
效果 117
6.4.9 将SVG文件转换为XML
文件 124
6.5 编译构建 124
6.5.1 编译构建概述 124
6.5.2 编译构建前配置 125
6.5.3 编译构建生成HAP 126
6.6 应用/服务运行 128
6.6.1 使用模拟器运行应用/服务 128
6.6.2 使用远程真机运行
应用/服务 130
6.6.3 在Phone和Tablet中运行
应用/服务 131
6.7 使用Java语言开发 132
6.7.1 编写第一个页面 132
6.7.2 编写另一个页面 134
6.7.3 实现页面跳转 134
6.8 使用JS语言开发(低代码方式) 134
6.8.1 创建JS工程 135
6.8.2 创建第一个页面 135
6.8.3 创建另一个页面 136
6.8.4 实现页面跳转 137
习题 138
第7章 嵌入式系统开发 139
7.1 原子化服务概述 140
7.1.1 什么是原子化服务 140
7.1.2 原子化服务特征 140
7.1.3 原子化服务基础体验 141
7.1.4 原子化服务典型使用场景 142
7.1.5 原子化服务开发流程 142
7.1.6 总体开发要求 143
7.1.7 便捷服务基础信息开发
指导 144
7.2 Ability框架 146
7.2.1 Ability 146
7.2.2 公共事件与通知 161
7.2.3 后台任务调度和管控 170
7.2.4 线程管理 174
7.2.5 线程间通信 177
7.2.6 剪贴板 182
7.3 用户界面UI 184
7.3.1 Java UI框架 184
7.3.2 多模输入 214
7.4 媒体开发 217
7.4.1 视频开发 217
7.4.2 图像开发 222
7.4.3 相机开发 224
7.4.4 音频开发 230
7.5 安全相关 233
7.5.1 权限开发 233
7.5.2 生物特征识别开发 239
7.6 AI开发 241
7.6.1 码生成 241
7.6.2 通用文字识别 243
7.6.3 语音识别 246
7.6.4 语音播报 248
7.7 网络与连接 249
7.7.1 NFC开发 249
7.7.2 蓝牙开发 255
7.7.3 WLAN开发 258
7.8 设备管理 262
7.8.1 传感器开发 262
7.8.2 控制类小器件开发 265
习题 268
第8章 鸿蒙OS数据库开发 269
8.1 关系型数据库 270
8.1.1 关系型数据库概述 270
8.1.2 关系型数据库开发 270
8.2 对象关系映射数据库 272
8.2.1 对象关系映射数据库概述 272
8.2.2 对象关系映射数据库开发 274
8.3 轻量级数据存储 278
8.3.1 轻量级数据存储概述 278
8.3.2 轻量级数据存储开发 279
习题 282
第9章 嵌入式系统设计开发案例 283
9.1 基于HarmonyOS获取设备位置 284
9.2 基于HarmonyOS的人脸识别 284
参考书目及相关网站 285
参考答案 286