第1章 绪论 1
1.1嵌入式操作系统的发展历史 1
1.2嵌入式操作系统的分类 2
1.3嵌入式操作系统的组成 3
1.4目前主流嵌入式操作系统概述 4
1.5嵌入式操作系统的发展趋势 5
1.6编写嵌入式操作系统的方法 6
习题 7
第2章 嵌入式操作系统的运行环境 8
2.1运行平台介绍 8
2.2嵌入式操作系统文件构成与接口定义 11
2.3嵌入式操作系统下载与运行 13
第3章 嵌入式操作系统 14
3.1嵌入式操作系统的定义 14
3.2嵌入式操作系统的体系结构 14
3.2.1整体型 14
3.2.2层次型 15
3.2.3微内核 16
3.2.4客户-服务器 16
3.3嵌入式操作系统组成要素及概念 17
习题 20
第4章 嵌入式操作系统常用数据结构 21
4.1数组 21
4.2指针 22
4.3结构体 22
4.4链表 23
4.5差分链表 29
4.6树 30
4.7位图 31
4.8文件 32
4.9内核线程 34
习题 36
第5章 嵌入式操作系统初始化 37
5.1 bootloader 37
5.1.1 bootloader装在哪里 37
5.1.2 bootloader的启动过程 37
5.1.3 基于MicroBlaze软核处理器的bootloader设计 47
5.2嵌入式操作系统初始化数据结构及主要操作 48
5.2.1 μCOS主要数据结构及操作 48
5.2.2 μCOS系统初始化 52
5.2.3 μClinux的系统初始化 54
习题 57
第6章 任务管理 57
6.1任务和任务优先级 57
6.2任务状态 58
6.3任务控制块链 59
6.4任务的生成 59
6.5任务的挂起 63
6.6任务的唤醒 64
6.7任务的删除 65
6.8任务调度 67
6.9任务编程 69
习题 73
第7章 资源管理 74
7.1资源共享、互斥和任务同步 74
7.2临界区 74
7.3信号量 76
7.4信号量的使用 81
7.5优先级反转 84
7.6优先级继承协议 85
7.7在μCOs-11上实现优先级继承协议 86
7.8优先级天花板协议 88
7.9在μCOS-11上扩展优先级天花板协议 91
习题 94
第8章 任务间通信 95
8.1通信实现的基本数据结构 96
8.2信号量——资源 101
8.3消息队列 102
8.4邮箱 107
8.5管道 110
8.6事件集 112
习题 120
第9章 内存管理 121
9.1内存保护 121
9.2内存管理机制 122
9.2.1固定大小存储区管理 122
9.2.2可变大小存储区管理 123
9.2.3 μCOS实现内存管理的方式 126
9.2.4 Linux的内存机制 135
9.2.5 μClinux下虚拟内存机制的屏蔽 137
习题 137
第10章 中断与异步信号 138
10.1中断 138
10.2中断向量表 138
10.3中断处理过程 140
10.3.1中断检测 141
10.3.2中断响应 145
10.3.3中断处理 145
10.3.4 MicroBlaze中断管理 147
10.3.5 μCOS-11中断服务程序实现 152
10.4时钟中断和时钟管理 154
10.5软中断 158
10.6异步信号系统 162
10.7中断性能评价指标 163
习题 166
第11章 Linux 167
11.1 Linux内核 167
11.2 Linux文件结构模型 169
11.3 Linux驱动编写 177
11.4 Linux驱动的编写实例——字符设备驱动 178
11.4.1字符设备驱动原理分析 179
11.4.2字符设备驱动数据结构 180
11.4.3字符设备驱动的编写步骤 182
11.4.4驱动程序的编译与装载 186
第12章 μClinux 188
12.1 μClinux内核 188
12.2 μClinux移植 189
12.3 μClinux驱动编写 189
第13章 Android 194
13.1 Android系统构架 194
13.2 Android SDK开发环境 196
13.3 Android平台开发环境搭建 197
13.4 Andriod蓝牙驱动编写 199
13.5 Android平台蓝牙编程 202
第14章 Windows CE 204
14.1内核与驱动 205
14.2 Windows CE系统驱动简介 206
14.3 Windows CE驱动程序实例 209
实验指导 213
实验一 移植μCOS-11到FPGA上 213
实验二 任务的建立与多任务的执行 220
实验三 系统中断机制的建立与使用 220
实验四 蓄水池综合实验 221