630135 鸿蒙——嵌入式系统设计与应用-金维宏

发布时间:2023-6-07 | 杂志分类:其他
免费制作
更多内容

630135 鸿蒙——嵌入式系统设计与应用-金维宏

内 容 简 介 本书系统地介绍了嵌入式系统的基本原理和基础知识,详细讲述了 ARM 处理器、ARM 指令集、鸿蒙应用程序开发基础、DevEco Studio 开发平台应用基础及嵌入式系统开发等相关知识,包括处理器架构、存储器管理、内核介绍、ARM 指令的寻址方式、ARM 指令简介、常见嵌入式操作系统介绍、原子化服务、DevEco Studio 应用服务开发、Ability 框架、媒体开发、AI 开发等内容。同时,对嵌入式操作系统、鸿蒙OS 数据库开发等做了简明阐述,最后还列举了嵌入式系统设计开发案例。本书以鸿蒙操作系统为基础,列举了大量实例及源代码,并配有完整的教学资源,包括 PPT 课件、习题集及参考答案、程序源代码等。本书可作为高等院校计算机、电子、自动化、仪器仪表等专业嵌入式系统、物联网、移动终端开发、鸿蒙应用程序设计等课程的教材,也可作为广大从事 ARM 和物联网应用系统开发的工程技术人员的参考用书。本书封面贴有清华大学出版社防伪标签,无标签者不得销售。版权所有,侵权必究。举报:010-62782989,beiqinquan@tup.tsinghua.edu.cn。图书在版编目... [收起]
[展开]
630135 鸿蒙——嵌入式系统设计与应用-金维宏
粉丝: {{bookData.followerCount}}
文本内容
第3页

高等院校互联网+新形态创新系列教材·计算机系列

鸿蒙——嵌入式系统设计与应用

(微课版)

金维宏 江渝川 黄一鸥 孙宝刚 主 编

张 强 蔡 宇 向 飞 刘 莉 副主编

第4页

内 容 简 介

本书系统地介绍了嵌入式系统的基本原理和基础知识,详细讲述了 ARM 处理器、ARM 指令集、鸿蒙

应用程序开发基础、DevEco Studio 开发平台应用基础及嵌入式系统开发等相关知识,包括处理器架构、存

储器管理、内核介绍、ARM 指令的寻址方式、ARM 指令简介、常见嵌入式操作系统介绍、原子化服务、

DevEco Studio 应用服务开发、Ability 框架、媒体开发、AI 开发等内容。同时,对嵌入式操作系统、鸿蒙

OS 数据库开发等做了简明阐述,最后还列举了嵌入式系统设计开发案例。

本书以鸿蒙操作系统为基础,列举了大量实例及源代码,并配有完整的教学资源,包括 PPT 课件、习

题集及参考答案、程序源代码等。

本书可作为高等院校计算机、电子、自动化、仪器仪表等专业嵌入式系统、物联网、移动终端开发、

鸿蒙应用程序设计等课程的教材,也可作为广大从事 ARM 和物联网应用系统开发的工程技术人员的参考

用书。

本书封面贴有清华大学出版社防伪标签,无标签者不得销售。

版权所有,侵权必究。举报:010-62782989,beiqinquan@tup.tsinghua.edu.cn。

图书在版编目(CIP)数据

鸿蒙:嵌入式系统设计与应用/金维宏等主编. —北京:清华大学出版社,2023.4

高等院校互联网+新形态创新系列教材. 计算机系列

ISBN 978-7-302-63013-5

Ⅰ. ①鸿… Ⅱ. ①金… Ⅲ. ①微处理器—系统设计—高等学校—教材 Ⅳ. ①TP332.021

中国国家版本馆 CIP 数据核字(2023)第 040571 号

责任编辑:孟 攀

封面设计:杨玉兰

责任校对:吕丽娟

责任印制:沈 露

出版发行:清华大学出版社

网 址:http://www.tup.com.cn, http://www.wqbook.com

地 址:北京清华大学学研大厦 A 座 邮 编:100084

社 总 机:010-83470000 邮 购:010-62786544

投稿与读者服务:010-62776969, c-service@tup.tsinghua.edu.cn

质量反馈:010-62772015, zhiliang@tup.tsinghua.edu.cn

课件下载:http://www.tup.com.cn, 010-62791865

印 装 者:三河市天利华印刷装订有限公司

经 销:全国新华书店

开 本:185mm×260mm 印 张:18.5 字 数:477 千字

版 次:2023 年 5 月第 1 版 印 次:2023 年 5 月第 1 次印刷

定 价:59.00 元

——————————————————————————————————————————————

产品编号:097345-01

第5页

前 言

在当前国际、国内形势下,我国进一步强化了高新技术及产品的自主可控,基于我国

自主研发的鸿蒙操作系统的开发及应用范围会越来越广、越来越深,市场及岗位需求也会

越来越旺盛。在计算机领域中,操作系统、嵌入式开发工具的国产化需求越来越强,所以

这方面的人才培养需求也更加迫切。

随着物联网、互联网技术的发展和普及,嵌入式系统的应用领域越来越广泛,并逐渐

渗透到我们日常生活的方方面面,小到手机、手环、MP3、可视电话等电子产品,大到汽

车电子、医疗器械、航空航天等,都离不开嵌入式系统。

嵌入式系统的技术也在不断完善,功能不断增多。相关数据显示,目前我国嵌入式行

业人才需求巨大,至少存在 30 万~50 万的人才缺口。随着人工智能和汽车电子嵌入式开

发业务需求量的增加,未来嵌入式专业的岗位需求还将持续增加。

此外,嵌入式系统行业也呈现出与以往不同的发展趋势,主要表现在以下几方面。

(1) 目前的嵌入式开发更倾向于智能化,即智能硬件(硬件+软件),嵌入式产品的一个

发展趋势是更倾向于自动化控制和人机交互。想要做到人机交互,首先必须提供精巧的多

媒体人机界面。想要嵌入式设备被人们乐于接受,就必须提供友好的人机界面,增加机器

的亲和力。如司机操纵高度自动化的汽车,主要还是通过习惯的方向盘、脚踏板和操纵

杆;人们与信息终端交互要求以 GUI 屏幕为中心的多媒体界面,手写文字输入、语音拨号

上网、收发电子邮件以及彩色图形、图像已取得不错成效。针对这些需求,鸿蒙面向全场

景的分布式操作系统能很好地适用于一系列设备,从真正意义上体现了万物互联的理念。

(2) 嵌入式应用软件的开发需要强大的开发工具和操作系统。随着嵌入式电子设备的

功能越来越丰富,电气结构也日渐复杂。为了满足应用功能的升级,设计师们一方面采用

更强大的嵌入式处理器如 32 位、64 位 RISC 芯片或信号处理器 DSP 增强处理能力;同时

还采用实时多任务编程技术和交叉开发技术来控制功能复杂性,简化应用程序设计,保障

软件质量和缩短开发周期,例如鸿蒙系统具有的“分布式软总线”概念以及 DevEco

Studio 开发平台。

(3) 随着互联网的不断发展,嵌入式设备要连上互联网,此时就必须要提供网络通信

接口,不仅要支持 TCP/IP,有些还需要支持 IEEE 1394、USB、蓝牙、IrDA 等无线传感

网,同时还要提供相应的通信组网协议软件和物理层驱动软件。

(4) 为了减少资源浪费,充分利用资源,要在小型电子设备中装入嵌入式系统,这就

要求设计时尽量精简系统内核、算法,降低功耗和软硬件成本。嵌入式产品要降低处理器

的性能,限制内存容量,复用接口芯片,这也要求软件开发人员有丰富的嵌入式编程经验

和硬件知识。鸿蒙凭借多终端开发 IDE、多语言统一编译、分布式架构 Kit 提供屏幕布局

控件以及交互的自动适配,支持控件拖曳,面向预览的可视化编程,从而使开发者可以基

于同一工程高效构建多端自动运行 App,实现真正的一次开发、多端部署,在跨设备之间

实现共享生态。

第6页

II

鸿蒙——嵌入式系统设计与应用

(5) 利用通信、嵌入式计算和传感器等技术,人们研制出了各种具有感知、计算和通

信等能力的微型传感器。通过这些无线传感器网络,人们可以在任何时间、任何地点和任

何环境条件下实时监测、感知、采集网络分布区域内的各种环境或监测对象的信息,并对

这些信息进行处理,获得详尽准确的信息,传送给需要这些信息的用户。因此,这种网络

系统被广泛地应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反

恐抗灾等领域。嵌入式系统正是以其组网灵活﹑可靠性高﹑抗干扰能力强﹑功耗低和网络

容量大等特点在计算机应用领域发挥着显著的作用。

鸿蒙的诞生拉开了永久性改变操作系统全球格局的序幕,全世界都看到鸿蒙凭借一己

之力度过了建立生态的早期阶段,并且在国内迅速站稳阵脚。对国内市场来说,各家厂商

彼此之间既是竞争对手,也在某种程度上组成一个微妙的利益共同体;对外部环境来说,

由于鸿蒙的存在,就不能再随意以非公平手段影响正常的商业环境,可以说鸿蒙的存在是

极具重大战略意义的。

鸿蒙系统支持多种设备,从智能手表、手机、平板,再到车载屏、智能家居,均可以

升级为鸿蒙系统,从 128KB 内存到高内存,均适用于鸿蒙系统。鸿蒙系统在软件层面实现

了各硬件设备的整合,构筑起了一个庞大的物联网群体世界,这恰好贴合万物互联的发展

趋势。由此来看,鸿蒙系统的覆盖范围颇广。

基于此,我们编写了这本基于鸿蒙的嵌入式系统设计与应用教材,本书贯彻党的二十

大精神和习近平新时代中国特色社会主义思想,坚持正确的政治方向和价值导向,遵循高

等教育教学规律和人才成长规律,落实课程思政要求,以满足当今社会对这方面的人才

需求。

本书配套资源丰富,内容包括工程文件及源代码、教学课件、习题答案等。

本书由金维宏、江渝川、黄一鸥、孙宝刚担任主编;张强、蔡宇、向飞、刘莉担副主

副。其中,金维宏负责第 2、4 章的编写和全书的统稿工作;江渝川负责第 3 章的编写工

作;黄一鸥负责第 1 章的编写及全书的第一次审校工作;孙宝刚负责第 6 章的编写工作;

张强负责第 8 章的编写工作;蔡宇负责第 7 章的编写工作;向飞负责第 5 章的编写工作;

刘莉负责第 9 章的编写及全书的第二次审校工作;金宇浩负责全书的第三次及第四次审校

工作。同时在本书的编写过程中,金宇浩、谭杨欢和孙佳在收集整理资料、习题课件制作

方面,也花费了大量的时间和精力,在此表示衷心的感谢。

由于编者水平有限,疏漏在所难免,欢迎批评指正。

编 者

第7页

目录

第 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

第8页

IV

目录

习题 ................................................................. 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

第9页

V

目录

第 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

百万用户使用云展网进行电子书籍的制作,只要您有文档,即可一键上传,自动生成链接和二维码(独立电子书),支持分享到微信和网站!
收藏
转发
下载
免费制作
其他案例
更多案例
免费制作
x
{{item.desc}}
下载
{{item.title}}
{{toast}}