暂无商品咨询信息 [发表商品咨询]
实时操作系统是嵌入式人工智能与物联网终端的重要工具。本书以面向物联网领域的国产轻量级鸿蒙LiteOS实时操作系统为蓝本,以RISC-V架构CH32V303微控制器为载体,结合配套的AHL-CH32V303-WiFi开发板,从应用开发视角出发,阐述了实时操作系统的线程、调度机制、延时函数、事件、消息队列、信号量、互斥量等基本知识要素,重点讲解了实时操作系统下的程序设计方法。在原理层面,本书以“知其然且了解其所以然”为目标,单独用一章篇幅,通过在内核代码中注入显示输出的方式,对LiteOS的底层机制进行简明剖析。全书共8章,分别为实时操作系统与线程的基础知识、LiteOS第一个样例工程、LiteOS下应用程序的基本要素、LiteOS中的同步与通信、底层驱动构件、RTOS下的程序设计方法、初步理解LiteOS的调度原理、基于WiFi通信的物联网应用开发等。附录A及附录B分别给出了LiteOS在CH32V303上的移植方法和升级方法,附录C为金葫芦AHL-CH32V303-WiFi用户手册。
随书附赠精心设计的、与书中内容紧密结合的实验套件,可用于完成附录中的实验。本书免费提供电子资源,内含软硬件资料、实验源程序等。电子资源下载方法详见前言。
本书面向高等学校人工智能、物联网工程、计算机、电子信息、自动化等相关专业本科生及应用开发工程师,也可作为实时操作系统应用开发的培训用书。
第1章 实时操作系统与线程的基础知识1
1.1 实时操作系统的基本含义1
1.1.1 无操作系统与实时操作系统1
1.1.2 实时操作系统与非实时操作系统2
1.2 RTOS中的基本概念3
1.2.1 线程与调度的基本含义3
1.2.2 内核类其他基本概念4
1.2.3 线程类其他基本概念5
1.3 线程的三要素、四种状态及三种基本形式7
1.3.1 线程的三要素:线程函数、线程堆栈、线程描述符7
1.3.2 线程的四种状态:终止态、阻塞态、就绪态和激活态8
1.3.3 线程的三种基本形式:单次执行、周期执行、资源驱动9
1.4 本章小结11
习题11
第2章 LiteOS第一个样例工程12
2.1 LiteOS简介12
2.1.1 LiteOS概述12
2.1.2 LiteOS的基本特点12
2.1.3 下载与更新LiteOS源码13
2.2 软硬件开发平台13
2.2.1 下载网上电子资源13
2.2.2 硬件平台:AHL-CH32V303-WiFi13
2.2.3 AHL-CH32V303-WiFi开发板的测试15
2.2.4 软件平台:金葫芦集成开发环境16
2.3 LiteOS的第一个样例工程17
2.3.1 样例程序的功能18
2.3.2 工程框架设计原则18
2.3.3 NOS工程框架18
2.3.4 LiteOS工程框架21
2.4 本章小结25
习题25
第3章 LiteOS下应用程序的基本要素26
3.1 中断的基本概念及CH32V303中断向量表26
3.1.1 中断的基本概念及处理过程26
3.1.2 CH32V303中断向量表及中断向量号宏定义28
3.2 时钟嘀嗒与延时函数29
3.2.1 时钟嘀嗒29
3.2.2 延时函数30
3.3 调度策略30
3.3.1 调度基础知识30
3.3.2 LiteOS中使用的调度策略31
3.3.3 LiteOS中的固有线程32
3.4 LiteOS中的线程状态迁移说明32
3.5 本章小结33
习题34
第4章 LiteOS中的同步与通信35
4.1 RTOS中同步与通信的基本概念35
4.1.1 同步的含义与通信手段35
4.1.2 同步类型36
4.2 事件37
4.2.1 事件的含义及应用场合37
4.2.2 事件的常用函数37
4.2.3 事件的编程实例38
4.3 消息队列42
4.3.1 消息队列的含义及应用场合42
4.3.2 消息队列的常用函数42
4.3.3 消息队列的编程实例43
4.4 信号量47
4.4.1 信号量的含义及应用场合48
4.4.2 信号量的常用函数48
4.4.3 信号量的编程实例49
4.5 互斥量51
4.5.1 互斥量的含义及应用场合52
4.5.2 互斥量的常用函数52
4.5.3 互斥量的编程实例53
4.6 本章小结55
习题56
第5章 底层驱动构件57
5.1 嵌入式构件概述57
5.1.1 使用构件的必要性57
5.1.2 构件的基本概念57
5.1.3 嵌入式开发中构件的分类58
5.1.4 构件的基本特征与表现形式58
5.2 底层驱动构件的设计原则与方法59
5.2.1 底层驱动构件设计的基本原则60
5.2.2 底层驱动构件设计要点分析61
5.2.3 底层驱动构件封装规范概要62
5.2.4 封装的前期准备:公共要素63
5.3 底层驱动构件设计与测试举例64
5.3.1 GPIO构件64
5.3.2 UART构件68
5.3.3 Flash构件74
5.3.4 ADC构件77
5.3.5 PWM构件83
5.4 外部设备构件设计实例87
5.4.1 printf构件的使用格式87
5.4.2 嵌入式printf构件说明88
5.4.3 printf构件编程实例88
5.5 算法构件设计实例90
5.5.1 冒泡排序算法构件90
5.5.2 队列构件92
5.6 本章小结97
习题97
第6章 RTOS下的程序设计方法98
6.1 程序稳定性问题98
6.1.1 稳定性的基本要求98
6.1.2 看门狗与定期复位的应用99
6.1.3 临界区的处理102
6.2 ISR设计、线程划分及优先级安排问题102
6.2.1 ISR设计的基本要求102
6.2.2 线程划分的基本原则103
6.2.3 线程优先级安排问题103
6.3 利用信号量解决并发与资源共享问题104
6.3.1 并发与资源共享问题104
6.3.2 应用实例105
6.4 优先级反转问题109
6.4.1 优先级反转问题的出现109
6.4.2 LiteOS中避免优先级反转问题的方法111
6.5 本章小结114
习题115
第7章 初步理解LiteOS的调度原理116
7.1 理解RTOS所需的相关基础知识116
7.1.1 CPU内部寄存器及RISC-V中的主要寄存器116
7.1.2 C语言概述119
7.1.3 RTOS内核常用数据结构129
7.1.4 汇编语言概述131
7.1.5 编译连接流程134
7.2 LiteOS的启动流程分析135
7.2.1 芯片启动到main函数之前的运行过程135
7.2.2 LiteOS启动流程解析139
7.2.3 SW中断服务例程158
7.2.4 LiteOS启动过程小结163
7.3 LiteOS中的时钟嘀嗒剖析164
7.3.1 时钟嘀嗒的建立与使用164
7.3.2 延时函数的调度机制分析167
7.4 LiteOS中的事件与消息队列的触发过程分析169
7.4.1 事件的触发过程169
7.4.2 消息队列的触发过程172
7.5 LiteOS中的信号量与互斥量的触发过程分析175
7.5.1 信号量175
7.5.2 互斥量178
7.6 本章小结182
习题182
第8章 基于WiFi通信的物联网应用开发183
8.1 WiFi应用开发概述183
8.1.1 WiFi概述183
8.1.2 WiFi通信过程与应用开发相关的基础概念183
8.1.3 物联网应用开发所面临的问题及解决思路187
8.1.4 金葫芦WiFi开发套件简介188
8.2 WiFi应用架构及通信基本过程189
8.2.1 建立WiFi应用架构的基本原则189
8.2.2 终端、信息邮局与人机交互系统的基本定义189
8.2.3 基于信息邮局初步了解WiFi基本通信流程190
8.3 终端及云侦听模板的适应性修改191
8.3.1 了解终端程序中的通信接口信息191
8.3.2 了解云侦听程序的通信接口信息192
8.3.3 运行自己的终端程序194
8.3.4 运行自己的云侦听程序并连接终端195
8.3.5 新增一个物理量的方法197
8.3.6 了解数据入库过程199
8.4 运行Web网页202
8.4.1 运行Web源码访问终端数据203
8.4.2 在实时数据界面增加控制按钮205
8.4.3 在Web网页程序中找到对应物理量207
8.5 运行微信小程序209
8.5.1 下载并安装微信开发者工具209
8.5.2 打开微信小程序源码210
8.5.3 运行微信小程序观察终端实时数据211
8.5.4 在实时数据界面增加按钮 213
8.5.5 在微信小程序中找到对应物理量214
8.6 远程更新终端程序216
8.6.1 远程更新概述216
8.6.2 远程更新操作过程217
8.7 本章小结219
习题219
附录A LiteOS在CH32V303上的移植方法220
A.1 下载LiteOS的最新版源码220
A.2 将LiteOS最新源码加入NOS工程中220
A.3 对源代码进行修改221
A.4 移植后测试232
附录B LiteOS的升级方法234
B.1 下载V3.0.6-LTS版本源代码234
B.2 对源代码进行修改234
附录C 金葫芦AHL-CH32V303-WiFi
用户手册238
参考文献247
| 基本信息 | |
|---|---|
| 出版社 | 机械工业出版社 |
| ISBN | 9787111790617 |
| 条码 | 9787111790617 |
| 编者 | 杨勇王宜怀 著 |
| 译者 | -- |
| 出版年月 | 2025-09-01 00:00:00.0 |
| 开本 | 其他 |
| 装帧 | 平装 |
| 页数 | 246 |
| 字数 | 385 |
| 版次 | 1 |
| 印次 | |
| 纸张 | 一般胶版纸 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]