顶部
收藏

嵌入式系统开发 ——基于分布式系统OpenHarmony


作者:
朱明、马艳华 主编 吴晨、卢炳先、覃振权 编
定价:
58.00元
ISBN:
978-7-04-062214-0
版面字数:
520.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2024-07-31
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
软件工程专业课程

本书为示范性软件学院联盟建设的首批软件工程系列教材之一。本书以OpenHarmony 3.1.1版本为基础,针对初学者,从OpenHarmony的系统构成和开发环境构建入手,对内核的关键源码进行分析和解读。主要内容包括内核架构、中断与异常处理、启动与时间管理、任务调度、内存管理(以电子资源形式提供)、进程间通信和文件系统等,有助于读者深入理解操作系统的工作方式,易于进行系统的应用开发。同时,对硬件驱动程序框架(HDF)、驱动程序配置与加载、驱动消息管理和开发,以及系统服务框架、用户程序框架进行了分析和解读,并在相应的过程中增加了丰富的开发示例。

在理论内容的基础上,本书以Hi3861作为轻量系统的基础硬件,从基本接口入手,以实例的方式介绍了轻量系统的基础硬件开发技术,展示了遥控小车等项目的开发技术。同时,以小熊派的BearPi-HM Micro开发板作为小型系统的基础硬件,展示了智慧农业等项目的开发技术,方便读者快速入门。

本书可作为高校计算机科学与技术、软件工程等本科专业“嵌入式开发课程”教材,也可供相关开发人员参考。

  • 前辅文
  • 第1章 OpenHarmony的系统构成
    • 1.1 OpenHarmony系统特点
      • 1.1.1 OpenHarmony的起源
      • 1.1.2 OpenHarmony的主要技术特点
      • 1.1.3 OpenHarmony的设备分类
      • 1.1.4 OpenHarmony的技术架构
    • 1.2 OpenHarmony的内核层
      • 1.2.1 轻量系统的内核子系统
      • 1.2.2 小型系统的内核子系统
      • 1.2.3 标准系统的内核子系统
    • 1.3 OpenHarmony内核层的驱动子系统
    • 1.4 OpenHarmony的系统服务层
    • 1.5 OpenHarmony的框架层
    • 1.6 OpenHarmony Shell
      • 1.6.1 OpenHarmony Shell的基本功能和特点
      • 1.6.2 OpenHarmony Shell命令
    • 1.7 系统编译构建
      • 1.7.1 系统开发环境配置
      • 1.7.2 OpenHarmony系统的编译构建过程
      • 1.7.3 系统的编译命令
      • 1.7.4 Docker编译环境
    • 本章小结
    • 思考题1
  • 第2章 OpenHarmony的内核基础
    • 2.1 LiteOS内核的芯片类型适配及内核架构
    • 2.2 LiteOS-M内核架构
    • 2.3 LiteOS-A内核架构
    • 2.4 内核抽象层
    • 2.5 中断与异常处理
      • 2.5.1 中断的基本概念
      • 2.5.2 LiteOS-M内核的中断
      • 2.5.3 LiteOS-A内核的中断
      • 2.5.4 LiteOS内核的异常处理
    • 2.6 启动与时间管理
      • 2.6.1 LiteOS-M内核的启动过程
      • 2.6.2 LiteOS-A内核的启动过程
      • 2.6.3 LiteOS内核的时间管理
      • 2.6.4 软件定时器
    • 2.7 任务调度
      • 2.7.1 LiteOS-M内核的任务调度
      • 2.7.2 LiteOS-M内核的任务创建
      • 2.7.3 LiteOS-M内核的任务调度时机
      • 2.7.4 LiteOS-A内核的任务调度
      • 2.7.5 LiteOS-A内核的任务创建
      • 2.7.6 LiteOS-A内核的进程创建
      • 2.7.7 LiteOS-A内核的任务调度时机
    • 本章小结
    • 思考题2
  • 第3章 OpenHarmony的内核进阶分析
    • 3.1 LiteOS内核的进程间通信
      • 3.1.1 事件
      • 3.1.2 互斥锁
      • 3.1.3 队列
      • 3.1.4 信号量
      • 3.1.5 用户态快速互斥锁
      • 3.1.6 自旋锁
      • 3.1.7 读写锁
      • 3.1.8 信号
      • 3.1.9 LiteIPC
    • 3.2 LiteOS-A内核的内核态与用户态
      • 3.2.1 系统调用
      • 3.2.2 异常
      • 3.2.3 中断
      • 3.2.4 内核态访问用户态数据
    • 3.3 LiteOS内核的文件系统
      • 3.3.1 LiteOS-M内核的FAT文件系统
      • 3.3.2 LiteOS-M内核的LittleFS文件系统
      • 3.3.3 LiteOS-A内核的虚拟文件系统
    • 3.4 网络连接
    • 本章小结
    • 思考题3
  • 第4章 OpenHarmony的硬件驱动程序框架
    • 4.1 HDF概述
      • 4.1.1 HDF的框架结构
      • 4.1.2 HDF的框架特点
      • 4.1.3 HDF的重要数据结构
    • 4.2 驱动程序配置文件
      • 4.2.1 驱动程序开发的基本步骤
      • 4.2.2 基于HCS的配置管理
      • 4.2.3 配置文件的基本语法
      • 4.2.4 配置文件的生成
    • 4.3 驱动程序加载
      • 4.3.1 用户态驱动程序服务启动配置
      • 4.3.2 驱动程序加载过程
      • 4.3.3 驱动服务管理
    • 4.4 驱动消息管理
      • 4.4.1 驱动消息接口
      • 4.4.2 驱动消息管理示例
    • 4.5 用户态程序使用驱动程序接口
      • 4.5.1 HDI部署模式
      • 4.5.2 HDI实现
    • 4.6 HDF开发实例
      • 4.6.1 虚拟HDF开发实例
      • 4.6.2 GPIO驱动框架
      • 4.6.3 相机驱动框架
    • 本章小结
    • 思考题4
  • 第5章 OpenHarmony的服务框架
    • 5.1 服务框架的基础数据结构
      • 5.1.1 结构体Vector
      • 5.1.2 服务
      • 5.1.3 特性
      • 5.1.4 对外接口
      • 5.1.5 消息
      • 5.1.6 结构体SamgrLiteImpl
    • 5.2 服务框架的启动和注册
      • 5.2.1 服务框架的启动过程
      • 5.2.2 服务框架的注册过程
    • 5.3 异步调用
      • 5.3.1 消息调用的相关接口
      • 5.3.2 无锁队列机制
    • 5.4 跨进程调用
    • 本章小结
    • 思考题5
  • 第6章 OpenHarmony的用户程序框架
    • 6.1 Ability的模型
      • 6.1.1 FA模型
      • 6.1.2 PageAbility开发
      • 6.1.3 ServiceAbility开发
      • 6.1.4 DataAbility开发
      • 6.1.5 Stage模型
      • 6.1.6 Ability开发
      • 6.1.7 ServiceExtensionAbility开发
    • 6.2 Ability与任务
    • 6.3 Ability和用户界面
      • 6.3.1 ArkUI概述
      • 6.3.2 声明式开发范式
      • 6.3.3 类Web开发范式
      • 6.3.4 UI与Ability框架的关系
      • 6.3.5 UI与Ability调用的关系
    • 6.4 Ability加载器
      • 6.4.1 元功能组件
      • 6.4.2 Ability的注册和加载
    • 6.5 AppSpawn应用孵化器
      • 6.5.1 AppSpawn的启动
      • 6.5.2 AppSpawn的IPC
    • 本章小结
    • 思考题6
  • 第7章 轻量系统的基础技术
    • 7.1 Hi3861芯片的特性与开发环境
      • 7.1.1 Hi3861芯片的功能特性
      • 7.1.2 Hi3861芯片的开发环境配置
      • 7.1.3 HelloWorld示例程序
    • 7.2 GPIO接口开发示例
      • 7.2.1 GPIO接口基础配置
      • 7.2.2 GPIO接口输出示例
      • 7.2.3 GPIO接口输入中断示例
    • 7.3 UART接口开发示例
      • 7.3.1 修改串口设置
      • 7.3.2 UART接口示例程序
    • 7.4 I2C接口开发示例
      • 7.4.1 I2C接口外设连接
      • 7.4.2 OLED开发示例
    • 7.5 看门狗开发示例
      • 7.5.1 超时复位示例
      • 7.5.2 正常喂狗示例
    • 7.6 ADC接口开发示例
    • 7.7 PWM接口开发示例
    • 7.8 WiFi开发示例
      • 7.8.1 WiFi相关接口
      • 7.8.2 STA开发示例
      • 7.8.3 AP开发示例
      • 7.8.4 开发工具封装
    • 本章小结
    • 思考题7
  • 第8章 轻量系统的应用开发
    • 8.1 空气质量检测仪项目
      • 8.1.1 项目硬件组成
      • 8.1.2 外设驱动及项目实现
    • 8.2 交通信号灯系统项目
      • 8.2.1 硬件控制
      • 8.2.2 WiFi网络构建
      • 8.2.3 UDP网络通信
      • 8.2.4 信号灯状态改变
    • 8.3 天气预报显示屏项目
      • 8.3.1 硬件与WiFi连接
      • 8.3.2 获取天气预报信息
      • 8.3.3 解析JSON获得数据
      • 8.3.4 数据显示
    • 8.4 无线遥控小车项目
      • 8.4.1 硬件组装
      • 8.4.2 电机控制
      • 8.4.3 网络与通信服务端
      • 8.4.4 小车基本控制
      • 8.4.5 超声波避障
    • 本章小结
    • 思考题8
  • 第9章 小型系统的应用开发
    • 9.1 STM32MP157处理器的特性与开发环境
      • 9.1.1 STM32MP157处理器的内存映射
      • 9.1.2 STM32MP157处理器的硬件平台
      • 9.1.3 DevEco Studio开发环境搭建
      • 9.1.4 命令行开发环境搭建
      • 9.1.5 烧录固件并启动开发板
      • 9.1.6 基本应用程序开发示例
    • 9.2 2048小游戏开发项目
      • 9.2.1 2048游戏规则
      • 9.2.2 创建项目
      • 9.2.3 编辑源码
      • 9.2.4 项目完整源码
      • 9.2.5 打包HAP应用
      • 9.2.6 安装HAP应用
      • 9.2.7 拓展学习
    • 9.3 GPIO基础控制开发示例
      • 9.3.1 硬件驱动开发要点
      • 9.3.2 LED灯驱动开发
      • 9.3.3 LED灯控制业务开发
      • 9.3.4 终端中运行程序
      • 9.3.5 基于JS应用的LED灯控制
      • 9.3.6 HAP安装包的生成
    • 9.4 智慧农业——感知控制项目
      • 9.4.1 E53_IA1驱动开发
      • 9.4.2 JS接口层适配
      • 9.4.3 编写HAP应用
      • 9.4.4 运行结果
      • 9.4.5 项目拓展
    • 本章小结
    • 思考题9
  • 参考文献
  • 附录 OpenHarmony Shell命令简介

相关图书