嵌入式实时操作系统--μC/OS-Ⅱ,第2版

MicroC/OS-ⅡThe Real-Time Kernel,second edition
[美] Jean J. Labrosse 著  邵贝贝 等译
出版日期:2003年4月

μC/OS-II是著名的、源码公开的实时内核,是专为嵌入式应用设计的,可用于各类8位、16位和32位单片机或DSP。从μC/OS算起,该内核已有10余年应用史,在诸多领域得到了广泛应用。本书是"MicroC/OS-II The Real Time Kernal"一书的第2版本,在第1版本(V2.0)基础上做了重大改进与升级。通过对μC/OS-II源代码的分析与描述,讲述了多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理以及如何处理优先级反转问题;介绍如何将μC/OS-II移植到不同CPU上,如何调试移植代码。在所附光盘中,给出已通过FAA安全认证的μC/OS-II V2.52的全部源码以及可在PC机上运行的移植范例。

μC/OS-Ⅱ——源码公开的实时嵌入式操作系统
原书名: .μC/OS-Ⅱ:the Real Time Kernel
作者:....(美)JEAN J.LABROSSE
译者:.... 邵贝贝
书号: ....7-5083-0610-4
页码: ....466
定价: ....¥69.00
出版社: ..中国电力出版社
出版日期: 2001-8-1


内容简介

   μC/OS-Ⅱ是源码公开的实时嵌入式内核,其性能完全可以与商业产品竞争。自1992年以来,全世界成千上万的开发者已经成功地将μC/OS-Ⅱ应用于各种系统。本书由μC/OS-Ⅱ内核的作者撰写,通过大量的源代码,讲述了内核的设计和创建,以及多任务实时系统的原理。

   本书适合嵌入系统开发人员阅读,也可作高校计算机相关专业嵌入系统课程的教材。




目录

  译者序

引言
第1章范例
1.0安装μC/OS-Ⅱ
1.1INCLUDES.H
1.2与编译器无关的数据类型
1.3全局变量
1.4 OS_ENTER_CRITICAL()和 OS_EXIT_CRITICAL()
1.5基于PC的服务
1.6应用μC/OS-Ⅱ的范例
1.7例1
1.8例2
1.9例3
第2章实时系统概念
2.0前后台系统( Foreground/Background System)
2.l代码的临界区
2.2资源
2.3共享资源
2.4多任务
2.5任务
2.6任务切换
2. 7内核( Kernel)
2.8调度( Schedule)
2.9非占先式内核
2. 10占先式内核
2.11可重入性( Reentrancy)
2.12时间片轮番调度法
2.13任务优先级
2.14静态优先级
2.15动态优先级
2.16优先级反转
2.17任务优先级分配
2.18互斥条件
2.19死锁(或抱死)(Deadlock(or Deadly Embrace))
2. 20同步
2.21事件标志(Event Flag)
2.22任务间的通信
2.23消息邮箱
2.24消息队列(Message Queue)
2.25中断
2.26中断延迟
2.27中断响应
2.28中断恢复时间(Interrupt Recovery)
2.29中断延迟、响应和恢复
2.30中断处理时间
2.31非屏蔽中断(NMI)
2.32时钟节拍(Clock Tick)
2. 33对存储器的需求
2.34使用实时内核的优缺点
2.35实时系统小结
第3章内核结构
3.0临界区(Critical Section)
3.l任务
3.2任务状态
3.3任务控制块(Task Control Blocks, OS_TCB)
3.4就绪表( Ready List)
3.5任务调度( Task Scheduling)
3.6给调度器上锁和开锁(Locking and UnLocking the Scheduler)
3.7空闲任务(Idle Task)
3.8统计任务
3.9μC/OS中的中断处理
3.10时钟节拍
3. 11μC/OS-Ⅱ初始化
3.12μC/OS-Ⅱ的启动
3.13获取当前μC/OS-Ⅱ的版本号
3.14 OSEvent()函数
第4章任务管理
4.0建立任务,OSTaskCreate()
4.l建立任务,OSTaskCreateExt()
4. 2任务推栈
4. 3推栈检验,OSTaskstkChk()
4. 4删除任务,OSTaskDel()
4. 5请求删除任务,OSTastDelReq)
4. 6改变任务的优先级,OSTaskChangePrio()
4.7挂起任务,OSTaskSuspend()
4. 8恢复任务,OSTasrResume()
4.9获得有关任务的信息,OSTaskQuery()
第5章时间管理
5.0任务延时函数,OSTimeDly()
5.l按时分秒延时函数OSTimeDlyHMSM()
5.2让处在延时期的任务结束延时,OSTimeDlyResume()
5.2系统时间,OSTimeGet()和OSTimeset()
第6章任务之间的通信与同步
6.0事件控制块ECB
6.1初始化一个事件控制块,OSEventwaitListlnit()
6.2使一个任务进入就绪态,OSEventTaskRdy()
6.3使一个任务进入等待某事件发生状态,OSEventTaskWait()
6.4由于等待超时而将任务置为就绪态,OSEventTO()
6.5信号量
6. 6邮箱
6.7消息队列
第7章内存管理
7.0内存控制块
7.l建立一个内存分区,OSMemCreate()
7.2分配一个内存块,OSMemGet()
7.3释放一个内存块,OSMemPut()
7.4查询一个内存分区的状态,OSMemQuery()
7.5使用内存分区
7.6等待一个内存块
第8章移植μC/OS-Ⅱ
8.0开发工具
8.l目录和文件
8.2 INCLUDES.H
8.3 OS_CPU.H
8.4 OS_CPU_A.ASM
8.5 OS_CPU_C.C
第9章HC/OS-11在80x86上的移植
9.0开发工具
9.l目录和文件
9.2INCLUDES.H文件
9.3OS_CPU.H文件
9.4OS_CPU_A.ASM
9.5OS_CPU_C.C
9.6内存占用
9.7运行时间
第10章从vC/OS升级到pC/OS-H
10.0目录和文件
10.IINCLUDES.H
10.2OS_CPU.H
10.3OS_CPU_A.ASM
10.4OS-CPU_N.C
10.5总结
第11章参考手册
第12章配置手册
附录A源代码范例
A. O例1
A. 1例2
A. 2例3
A. 3PC服务
附录BμC/OS-Ⅱ与处理器类型无关的源代码
B.0μC/OS-Ⅱ.C
B.lμC/OS-Ⅱ.H
B.2 OS_CORE.C
B.3 OS_MBOX.C
B.4 OS_MEM.C
B.5 OS_Q.C
B.6 OS_SEM.C
B.7 OS_TASK.C
B.8 OS_TIME.C
附录C 80X86源代码在实模式、大模式下编译
C.0 OS_CPU_A.ASM
C.I OS_CPU_C.C
C.2 OS_CPU.H
附录D HPLISTC和 TO
D.0 HPLISTC
D.I TO
附录E参考文献
附录F使用许可证(License)和μC/OS-Ⅱ网站