标题：μC、OS-2标准教程
版权信息
书 名: μC、OS-2标准教  程 
作　者：杨宗德
出版社： 人民邮电出版社
出版时间： 2009
ISBN: 9787115204424
开本： 16
定价: 39.00 元
内容简介
《μC/OS-2标准教程》主要介绍当前最新版本的μC/OS-II(2.80版本)实时操作系统，包括内核分析及其在ARM9内核处理器(S3C2410)上的移植方法。内核方面主要包括μC/OS-II操作任务管理、任务级任务调度和中断级任务调度、系统启动与初始化、时钟任务管理、任务间通信机制、任务间单事件和多事件同步机制、内存管理方式。《μC/OS-2标准教程》还通过具体实例介绍μC/OS-II系统在以ARM9为内核的嵌入式处理器S3C2410上的移植方法，最后对轻量级TCP/IP协议栈——μC/TCP-IP协议栈进行了概要介绍。《μC/OS-2标准教程》可以作为高等院校学习嵌入式操作系统原理的专业教材，也适合有意从事嵌入式系统开发的工程技术人员阅读。《μC/OS-2标准教程》假定读者有较好的C语言基础和数据结构基础知识，如果读者对ARM处理器有一定的了解，将更容易掌握《μC/OS-2标准教程》内容。
编辑推荐
《μC/OS-2标准教程》特点：逐句分析u（3/OS-II（2．80版本）源代码，详细分析系统原理。以Microsoftvc++环境为平台，配备完整模拟应用案例。以S3C2410（ARM9）为处理器平台，分析硬件平台相关代码，逐步介绍移植过程。《μC/OS-2标准教程》主要介绍uC/OS-II（2．80版本）内核基本原理（包括任务及任务调度、系统启动与实始化、任务间通信与同步、内存管理），分析源代码及应用案例，并介绍在ARM9内核处理器（S3C：2410）上的移植和uC/TCP-IP协议栈设计方法。
目录
第1章μC/OS-II与嵌入式实时操作系统1
1.1实时操作系统概述2
1.1.1嵌入式系统软件结构2
1.1.2实时操作系统内核概述3
1.1.3常见实时操作系统简介4
1.2μC/OS-II内核源代码文档结构6
1.2.1构建μC/OS-II模拟编程环境6
1.2.2测试程序源代码说明8
1.3μC/OS-II基本概念9
1.3.1嵌入式应用程序开发模式9
1.3.2可重入函数与不可重入函数10
1.3.3μC/OS-II临界状态管理11
1.4小结12
1.5习题13
第2章μC/OS-II任务管理15
2.1案例引入：基于mC/OS-II的多任务管理16
2.1.1μC/OS-II多任务示例运行结果16
2.1.2μC/OS-II多任务代码分析16
2.2μC/OS-II任务基本属性17
2.2.1C语言可执行代码结构17
2.2.2μC/OS-II任务结构18
2.2.3μC/OS-II任务栈19
2.2.4μC/OS-II任务控制块21
2.2.5μC/OS-II任务优先级26
2.2.6μC/OS-II任务状态26
2.2.7系统任务28
2.3μC/OS-II任务管理函数源码分析32
2.3.1创建任务32
2.3.2初始化任务栈35
2.3.3初始化任务控制块37
2.3.4扩展创建任务40
2.3.5删除任务42
2.3.6请求删除任务45
2.3.7挂起任务47
2.3.8恢复任务49
2.3.9设置任务名称50
2.3.10获取任务名称52
2.3.11读取任务TCB信息53
2.4应用实例：多任务管理应用分析55
2.4.1基本功能55
2.4.2程序实现及源码分析55
2.5小结58
2.6习题58
第3章μC/OS-II任务调度与系统初始化59
3.1μC/OS-II任务级任务调度机制60
3.1.1μC/OS-II调度算法60
3.1.2μC/OS-II任务就绪表60
3.1.3获取最高优先级就绪任务62
3.2μC/OS-II任务级任务调度63
3.2.1任务级任务调度算法分析63
3.2.2任务级任务切换OS_TASK_SW()64
3.2.3调度器上锁与解锁66
3.2.4修改任务优先级67
3.3μC/OS-II中断级任务调度69
3.3.1μC/OS-II中断管理69
3.3.2IRQ中断处理过程及中断级调度70
3.3.3OSIntEnter()进入中断管理函数72
3.3.4OSIntExit()退出中断管理函数72
3.3.5中断级任务调度切换函数OSIntCtxSw()73
3.3.6FIQ中断处理过程及中断级调度74
3.4任务级任务调度实例76
3.4.1程序功能76
3.4.2程序实现及源码分析76
3.5小结78
3.6习题79
第4章μC/OS-II系统启动与时钟任务管理81
4.1μC/OS-II系统启动过程分析82
4.1.1μC/OS-II应用程序开发模式82
4.1.2OSInit()函数初始化分析82
4.1.3OSStart()函数启动系统分析87
4.1.4运行最高优先级任务87
4.2时钟任务与时钟管理88
4.2.1创建系统时钟任务88
4.2.2时钟中断服务程序OSTimeTick()89
4.2.3系统时间管理函数源码分析91
4.3小结95
4.4习题95
第5章μC/OS-II任务间通信机制97
5.1μC/OS-II事件管理机制98
5.1.1事件控制块98
5.1.2事件控制块管理99
5.2单一消息传递事件：消息邮箱101
5.2.1消息邮箱基本原理101
5.2.2创建消息邮箱101
5.2.3阻塞式读取消息103
5.2.4非阻塞式读取消息106
5.2.5发送消息到消息邮箱107
5.2.6按指定方式发送数据到消息邮箱110
5.2.7删除消息邮箱111
5.2.8获取消息邮箱基本信息114
5.2.9消息邮箱应用实例115
5.3多消息传递事件：消息队列117
5.3.1消息队列基本原理117
5.3.2创建消息队列119
5.3.3发送消息到队列尾121
5.3.4发送消息到队首122
5.3.5按指定方式发送消息124
5.3.6阻塞式读取消息125
5.3.7非阻塞式读取消息128
5.3.8删除消息队列129
5.3.9获取消息队列信息132
5.3.10清理消息队列空间133
5.3.11消息队列应用实例134
5.4小结137
5.5习题138
第6章μC/OS-II任务间单事件同步机制139
6.1任务同步机制：信号量140
6.1.1信号量基本原理140
6.1.2创建信号量140
6.1.3阻塞式获取信号量141
6.1.4非阻塞式获取信号量143
6.1.5释放信号量144
6.1.6删除信号量145
6.1.7查询信号量信息147
6.1.8设置信号量的值148
6.1.9信号量实现生产-消费问题应用实例149
6.2互斥事件管理机制：互斥锁153
6.2.1互斥锁与优先级反转153
6.2.2创建互斥锁156
6.2.3阻塞式获取互斥锁158
6.2.4非阻塞式获取互斥锁161
6.2.5释放互斥锁162
6.2.6删除互斥锁164
6.2.7获取互斥锁基本信息167
6.3小结168
6.4习题169
第7章μC/OS-II多事件同步机制171
7.1事件组标志同步机制基本原理172
7.1.1事件组标志基本原理172
7.1.2初始化事件标志组控制块174
7.2事件组标志基本操作175
7.2.1创建事件组标志175
7.2.2阻塞式等待事件组标志176
7.2.3非阻塞式等待事件组标志182
7.2.4修改事件组标志状态184
7.2.5删除事件标志组187
7.2.6获取任务就绪标志190
7.2.7查询事件组标志信息190
7.2.8获取事件组标志名称191
7.2.9设置事件组标志名称192
7.3使用事件组标志实现读写锁功能案例193
7.3.1案例功能及原理说明193
7.3.2程序源代码分析195
7.4小结197
7.5习题197
第8章μC/OS-II内存分区管理199
8.1内存分区管理基本原理200
8.1.1μC/OS-II内存分区管理机制200
8.1.2内存分区控制块数据空间初始化201
8.2μC/OS-II内存分区管理操作202
8.2.1创建内存分区202
8.2.2申请一个内存分区块204
8.2.3释放内存分区块205
8.2.4查询内存分区基本信息206
8.2.5读取/设置内存分区名称207
8.3μC/OS-II内存管理应用实例210
8.3.1应用程序基本功能210
8.3.2应用程序源代码分析211
8.4小结212
8.5习题212
第9章μC/OS-II在S3C2410处理器上的移植案例分析213
9.1ARM可执行文件结构分析214
9.1.1可执行文件结构分析214
9.1.2ADS下可执行文件的编译连接过程分析215
9.1.3移植第一步：设置代码存储加载位置217
9.2移植第二步：编写系统启动代码218
9.2.1开始执行，禁止中断219
9.2.2初始化栈空间219
9.2.3复制异常代码与异常向量地址220
9.3移植第三步：中断处理与时钟中断任务221
9.3.1S3C2410中断向量221
9.3.2S3C2410中断处理硬件结构223
9.3.3移植时对中断的处理225
9.3.4示例：μC/OS-II系统时钟中断任务管理228
9.4移植第四步：修改与调度相关的汇编代码229
9.4.1临界状态问题229
9.4.2数据类型问题230
9.4.3任务调度问题与钩子函数问题231
9.5移植后续工作：添加硬件驱动程序232
9.5.1重新写C函数以实现信息从串口输出232
9.5.2实现串口驱动程序234
9.5.3重写堆栈空间初始化函数237
9.6小结238
9.7习题238
第10章μC/TCP-IP协议栈设计分析239
10.1TCP/IP协议栈概述240
10.1.1标准TCP/IP协议栈模型240
10.1.2BSD面向连接的TCP通信编程过程241
10.1.3BSD面向无连接的UDP通信实现242
10.1.4轻量级TCP/IP协议栈和标准TCP/IP协议栈比较242
10.1.5μC/TCP-IP协议栈介绍及特点243
10.2μC/TCP-IP协议栈设计243
10.2.1μC/TCP-IP协议栈基本框架243
10.2.2进程基本形式245
10.2.3接收数据过程245
10.2.4发送数据过程246
10.3μC/TCP-IP协议栈实现247
10.3.1IP协议栈设计及实现247
10.3.2TCP协议设计及实现249
10.3.3UDP协议设计及实现252
10.3.4ICMP协议设计及实现253
10.3.5ARP设计及实现255
10.3.6缓冲区设计及管理257
10.4小结260
10.5习题260
附录编译程序工具简介261
A.1VisualC++6.0集成开发环境261
A.2ADS集成开发环境264
A.3SourceInsight源代码查看工具269
……