第1章 绪论
1.1 嵌入式系统的编程环境
1.1.1 基于裸机的编程环境
1.1.2 基于嵌入式实时操作系统的编程环境
1.2 学习使用实时操作系统之前必须具备的能力
1.2.1 软件设计能力的要求
1.2.2 硬件设计能力的要求
1.2.3 工程项目开发能力的要求
1.3 实时操作系统的快速人门方法
第2章 建立开发环境
2.1 CPU芯片与硬件平台的选择
2.2 嵌入式实时操作系统的选择
2.3 嵌入式实时操作系统的移植
2.4 开发调试环境的建立
2.5 工程模板分析
2.6 工程模板的使用
第3章 有关任务的基本知识
3.1 仿多CPU环境的实现
3.2 任务的特性
3.2.1 任务的独立性
3.2.2 任务的并发性
3.2.3 任务的动态性
3.3 任务的划分
3.3.1 设备依赖性任务的划分
3.3.2 关键任务的划分
3.3.3 紧迫任务的划分
3.3.4 数据处理任务的划分
3.3.5 功能聚合任务的划分
3.3.6 触发条件相同任务的划分
3.3.7 运行周期相同任务的划分
3.3.8 顺序操作任务的划分
3.3.9 任务划分小结
3.4 任务的可调度性分析
3.5 与任务管理有关的常用函数
3.5.1 创建任务
3.5.2 删除任务
第4章 任务设计
4.1 任务函数的结构
4.1.1 单次执行的任务
4.1.2 周期性执行的任务
4.1.3 事件触发执行的任务
4.2 任务优先级安排
4.2.1 任务的优先级资源
4.2.2 任务优先级安排原则
4.3 任务的数据结构设计
4.3.1 与操作系统有关的数据结构
4.3.2 与操作系统无关的数据结构
4.4 任务函数设计中的问题
4.4.1 公共函数的调用
4.4.2 与其他任务的协调
4.4.3 共享资源的访问
4.4.4 与其他任务进行数据通信
4.5 任务函数的代码设计过程
4.5.1 系统总体任务关联图
4.5.2 任务的关联分析
4.5.3 任务的程序流程图
4.5.4 编写任务函数的程序代码
第5章 中断服务程序设计
5.1 中断优先级
5.1.1 中断的优先级资源
5.1.2 中断优先级安排原则
5.2 在工程模板中加人中断服务程序
5.3 中断服务程序设计
5.3.1 中断服务程序的结构
5.3.2 选择与关联任务的通信手段
5.3.3 带中断服务程序的示例
第6章 行为同步
6.1 用于行为同步的通信手段
6.1.1 二值信号量
6.1.2 计数信号量
6.1.3 事件标志组
6.1.4 消息邮箱
6.1.5 消息队列
6.1.6 通信手段的选择
6.2 行为同步
6.2.1 ISR和任务之间的同步
6.2.2 两个任务之间的单向同步
6.2.3 两个任务之间的双向同步
6.2.4 两个以上任务同步一个任务
6.2.5 多个任务相互同步
第7章 资源同步
7.1 关中断
7.1.1 保障数据可靠性
7.1.2 保障数据完整性
7.1.3 关中断小结
7.2 关调度
7.3 使用互斥信号量
7.4 使用计数信号量
第8章 数据通信
8.1 全局变量
8.2 内存数据块
8.3 消息邮箱
8.4 消息队列
第9章 时间管理
9.1 控制任务的执行周期
9.2 控制任务的运行节奏
9.3 状态查询
9.4 终止周期性任务
第10章 采样任务设计
10.1 使用延时函数控制采样周期
10.2 使用定时中断控制采样周期
10.3 使用节拍钩子函数进行采样
10.4 被动采样
第11章 串行通信任务设计
11.1 通信协议设计
11.2 风险评估
11.3 帧缓冲区
11.4 数据发送
11.5 数据接收
11.6 双向数据通信
第12章 键盘任务设计
12.1 可靠地获取键盘操作信息
12.2 基于菜单操作的监控流程
12.2.1 系统功能分析和菜单结构设计
12.2.2 监控程序设计
12.3 与显示任务的通信
第13章 显示任务设计
13.1 GUI简介
13.2 画面设计
13.3 与其他任务的接口
13.4 短消息设计
13.5 显示任务设计
第14章 嵌入式操作系统的裁剪
14.1 服务功能的裁剪
14.1.1 任务管理功能的裁剪
14.1.2 通信服务功能的裁剪
14.1.3 其他功能的裁剪
14.2 数据结构的裁剪
14.2.1 与任务有关的数据结构
14.2.2 与通信功能有关的数据结构
14.2.3 其他参数
第15章 设计示例
15.1 示例简介
15.2 硬件系统
15.3 任务分析
15.4 程序设计详解
15.4.1 智能终端任务
15.4.2 监控任务
15.4.3 采样任务
15.4.4 上传任务
15.4.5 数据处理
15.5 工程模板的修改
15.5.1 端口配置文件的修改
15.5.2 中断服务函数(ISR)句柄文件的修改
15.5.3 中断服务函数(ISR)原型声明文件的修改
15.5.4 操作系统的裁剪
15.6 完整的main.c文件
后记
参考文献