作者: 朱明、马艳华 主编 吴晨、卢炳先、覃振权 编
ISBN:978-7-04-062214-0
定价:58.00元
出版时间:2024年7月
//内容提要
//
本书为示范性软件学院联盟建设的首批软件工程系列教材之一。本书以OpenHarmony 3.1.1版本为基础,针对初学者,从OpenHarmony的系统构成和开发环境构建入手,对内核的关键源码进行分析和解读。主要内容包括内核架构、中断与异常处理、启动与时间管理、任务调度、内存管理(以电子资源形式提供)、进程间通信和文件系统等,有助于读者深入理解操作系统的工作方式,易于进行系统的应用开发。同时,对硬件驱动程序框架(HDF)、驱动程序配置与加载、驱动消息管理和开发,以及系统服务框架、用户程序框架进行了分析和解读,并在相应的过程中增加了丰富的开发示例。
在理论内容的基础上,本书以Hi3861作为轻量系统的基础硬件,从基本接口入手,以实例的方式介绍了轻量系统的基础硬件开发技术,展示了遥控小车等项目的开发技术。同时,以小熊派的BearPi-HM Micro开发板作为小型系统的基础硬件,展示了智慧农业等项目的开发技术,方便读者快速入门。
本书可作为高校计算机科学与技术、软件工程等本科专业“嵌入式开发课程”教材,也可供相关开发人员参考。
//
//前 言
写作背景
2020年秋,科技圈爆出了一条重磅新闻,华为公司向开放原子开源基金会捐赠了智能终端操作系统基础能力的相关源码,基金会将该开源项目命名为OpenAtom OpenHarmony(简称“OpenHarmony”)。彼时,作者还在使用ESP32和Zigbee作为教学和创新竞赛平台,OpenHarmony的推出使我们产生了浓厚的兴趣,也开始不断关注OpenHarmony系统的发展和软硬件生态体系建设,并且在大连理工大学OurEDA实验室所参加的学生竞赛中尝试使用相关技术。
在该过程中,OpenHarmony系统和硬件平台的优势不断凸显,实验室同学们也都对这一技术产生了浓厚的兴趣,自发形成了实验室内部OpenHarmony技术小组,实验室的技术重心之一也逐渐转移到了OpenHarmony系统上。实验室已经成功将OpenHarmony技术应用到了自研的水下机器人上,并获得了2022年全国水下机器人赛的冠军,验证了OpenHarmony的功能和性能。
2022年秋,华为公司在教育部产学合作协同育人项目平台上发布了当年第一批产学合作项目,与示范性软件学院联盟共建基于华为技术的教材。本人第一时间提交了申请并成功立项,此为本书的编写缘由。
编写团队充分借鉴了对OpenHarmony系统的学习成果以及实验室的集体智慧,研读并探讨了当时最新的3.1.1版本的源码,更新了相应的示例工程源码,构建了本书的主要内容。在教材编写过程中,编写团队也得到了华为公司的大力支持,从提供技术资料到技术定稿、审阅初稿,以及提供尚未发布的IDE工具等。最终,在大家的共同努力下形成了本书的终稿。
本书除了主编朱明教授之外,主要技术贡献者还包括OurEDA实验室的吴晨同学、集成电路学院的马艳华教授、软件学院的卢炳先老师和覃振权老师等。吴晨同学是实验室的跨界技术高手,他除了在本书中贡献了大量的技术代码之外,还在资料不完整的情况下,基于华为的Hi3519硬件平台,从硬件到软件,再到客户端,构建了一套完整的全国产化的水下机器人原型系统。未来,实验室将基于该系统构建一款娱乐型水下机器人并推向市场。马艳华教授和卢炳先老师等则在本书硬件电路和软件系统方面的内容给予了全面的支撑。此外,大连理工大学的罗钟铉教授、樊鑫教授、吴国伟教授、王雷教授和陆坤副教授等老师,OurEDA实验室的潘进豪、管正、刘崇胜、杨家麒、刘诗煜和张秀山等同学也在本书的编写过程中提供了极大的帮助。在此,一并向上述人员表示衷心的感谢。
主要内容
本书根据教学需求对内容进行了重新设计,遵循从理论到实践的学习过程,采用适合初学者的渐进式教学过程。全书共9章,主要内容如下:
第1章OpenHarmony的系统构成,主要介绍OpenHarmony系统的起源、主要技术特点和技术架构,并对其内核层、驱动子系统、系统服务层和框架层,以及OpenHarmony Shell进行了说明。同时,作为基础章节,本章还对Open-Harmony的编译构建做了介绍。
第2章OpenHarmony的内核基础,介绍OpenHarmony LiteOS内核的芯片适配及内核架构,分析LiteOS-M内核和LiteOS-A内核在中断与异常处理、启动与时间管理、任务调度和内存管理(以电子资源形式提供)等方面的运行机制。
第3章OpenHarmony的内核进阶分析,在第2章的基础之上,继续对LiteOS-M内核和LiteOS-A内核的进程间通信、内核态与用户态、文件系统和网络连接等进行分析,完善了OpenHarmony内核主要功能的分析和解读,有助于读者从运行机制角度学习OpenHarmony系统。
第4章OpenHarmony的硬件驱动程序框架,从HDF的编程特点展开,针对驱动程序配置文件、驱动程序加载、驱动消息管理和用户态使用驱动程序HDI,进行了较为详细的理论分析,并以GPIO驱动框架和相机驱动框架为例,进行HDF开发的实例化讲解。
第5章OpenHarmony的服务框架,从服务框架的基础数据结构展开,介绍服务框架的启动和注册、异步调用和跨进程调用等功能,方便读者进行服务的开发。
第6章OpenHarmony的用户程序框架,介绍Ability的两种模型和相应的基本开发过程,以及Ability的任务、用户界面、加载器、应用孵化器等技术要点,为开发Ability打下坚实的技术基础。
第7章轻量系统的基础技术,以Hi3861为硬件基础,介绍GPIO、UART、I²C、看门狗、ADC、PWM和WiFi的应用要点,并以实例方式演示了开发过程。
第8章轻量系统的应用开发,继续以Hi3861为硬件基础,以多个项目开发的方式整合Hi3861的内部资源,实现了数据获取、数据解析、数据展示和设备控制的过程。
第9章小型系统应用开发,以STM32MP157为硬件基础,介绍三个基于小型系统的应用示例,涵盖独立应用开发、内部功能硬件和外部感知与控制,为读者的实践提供了详细的参考。
读者对象
本书为示范性软件学院联盟与华为公司共建的教材,可作为高校计算机科学与技术、软件工程、网络工程等本科专业嵌入式系统开发课程教材,也可供OpenHarmony开发人员参考。读者在使用本书时,需要具有一定的软硬件开发技术基础,主要指C/C++语言编程基础;系统操作基础,主要指Linux操作系统的应用;嵌入式系统软硬件基础,主要指嵌入式硬件电路基础、软件编程基础和系统构架知识。
教学建议与配套资源
与现有的OpenHarmony类图书不同,本书按教学需求组织内容,适合32理论学时+24实践学时的教学安排。
32学时的理论内容能够涵盖OpenHarmony的主要技术特点和理论基础,尤其是内核、驱动框架和服务框架内容,可使学生理解操作系统的结构和技术要点;24学时的实践内容涵盖轻量系统和小型系统的主要技术点,便于学生快速掌握和运用OpenHarmony的开发技术和方法,一定程度上降低了学习门槛,使学生快速获得成就感,激发其学习的主观意愿。
为便于高校师生教学,本书为书中的关键技术点以及拓展知识配有微课视频,有助于学生掌握软硬件知识,构建以OpenHarmony为核心的完整的知识和技术体系。此外,本书还提供了配套的电子讲稿、教学案例和源代码、拓展学习材料等教学资源。
嵌入式操作系统是实现新型工业化、实现现代化强国的重要基础支撑技术。而OpenHarmony是嵌入式操作系统的新星,它打破了国外嵌入式和物联网操作系统的技术垄断,每一行OpenHarmony的代码都凝聚着国人智慧。讲授和传播OpenHarmony系统体现了思政教育的内涵,有助于学生树立科技自信心,培养民族自豪感,树立为实现中国式现代化而奋斗的伟大目标。
受篇幅与学时所限,本书在内容上并没有涵盖OpenHarmony的全部技术要点;且作为OpenHarmony的初研成果,本书也难免存在疏漏和错误之处,肯请广大读者多提宝贵意见和建议,作者联系方式为zhuming@dlut.edu.cn,我们一起研讨,共同进步,推动OpenHarmony的发展和在各领域中的应用。
作者
2024年7月
//目 录
左滑解锁更多目录
//样 章
左右滑动查看更多
·END·
点击“阅读原文”可直达购买页面。