嵌入式实时操作系统是嵌入式人工智能与物联网终端的重要工具和运行载体。本书以国产RT-Thread实时操作系统为背景,阐述实时操作系统的线程、调度、延时函数、事件、消息队列、信号量、互斥量等基本知识要素,并给出实时操作系统下的程序设计方法。全书分为基础应用(第壹~7章)、原理剖析(第8~12章)及综合实践(第壹3~14章)三篇,如果读者只从事实时操作系统下的应用开发,可只阅读基础应用篇与综合实践篇;如果希望理解实时操作系统原理,则建议通读全书。
本书可作为应用开发工程师、高等学校研究生及高年级本科生的参考用书,也可作为实时操作系统技术的培训用书。
第壹篇基础应用
第壹章RTOS的基本概念与线程基础知识
1.1实时操作系统的基本含义
1.2 RTOS中的基本概念
1.3线程的三要素、四种状态及三种基本形式
1.4本章小结
第2章 相关基础知识
2.1 CPU内部寄存器分类及ARM Cortex-M中的主要寄存器
2.2 C语言中构造类型及编译相关问题
2.3 RTOS内核使用的数据结构
2.4汇编语言概述
2.5本章小结
第3章RT-Thread第壹个样例工程
3.1 RT-Thread简介
3.2软硬件开发平台
3.3第壹个样例工程
3.4本章小结
第4章RTOS下应用程序的基本要素
4.1中断基本概念及处理过程
4.2时间嘀嗒与延时函数
4.3调度策略
4.4 RTOS中的功能列表
4.5本章小结
第5章 同步与通信的应用方法
5.1 RTOS中同步与通信基本概念
5.2事件
5.3消息队列
5.4信号量
5.5互斥量
5.6本章小结
第6章 底层硬件驱动构件
6.1嵌入式构件概述
6.2底层硬件驱动构件设计原则与方法
6.3底层硬件驱动构件设计举例
6.4应用构件及软件构件设计实例
6.5本章小结
第7章RTOS下程序设计方法
7.1程序稳定性问题
7.2 ISR设计、线程划分及优先级安排问题
7.3利用信号量解决并发与资源共享的问题
7.4优先级反转问题
7.5本章小结
第2篇 原 理 剖 析
第8章 理解RT-Thread的启动过程
8.1芯片启动到main函数之前的运行过程
8.2 RT-Thread启动流程概要
8.3深入理解启动过程:相关资源初始化工作
8.4深入理解启动过程:创建主线程与空闲线程
8.5深入理解启动过程:启动调度器
8.6函数调用关系总结及存储空间分析
8.7本章小结
第9章 理解时间嘀嗒
9.1时间嘀嗒的建立与使用
9.2延时函数
9.3延时函数调度过程实例分析
9.4与时间相关的函数
9.5本章小结
第壹0章 理解调度机制
10.1调度过程涉及的列表及主要函数剖析
10.2 PendSV_Handler剖析
10.3线程切换过程剖析
10.4本章小结
第壹1章 理解事件与消息队列
11.1事件
11.2消息队列
11.3本章小结
第壹2章 理解信号量与互斥量
12.1信号量
12.2互斥量
12.3本章小结
第三篇 综 合 实 践
第壹3章 基于RT-Thread的AHL-EORS应用
13.1 AHL-EORS简介
13.2卷积神经网络概述
13.3 AHL-EORS选用模型分析
13.4 AHL-EORS的数据采集与训练过程
13.5在通用嵌入式计算机GEC上进行的推理过程
13.6本章小结
第壹4章 基于RT-Thread的NB-IoT应用开发
14.1窄带物联网应用开发概述
14.2 NB-IoT应用架构及通信基本过程
14.3终端与云侦听程序的通信过程
14.4通过Web的数据访问
14.5通过微信小程序的数据访问
14.6本章小结
参考文献