第九讲 uCOSII嵌入式实时操作系统PPT课件
- 格式:ppt
- 大小:2.58 MB
- 文档页数:59
第一章:范例在这一章里将提供三个范例来说明如何使用 µC/OS-II。
笔者之所以在本书一开始就写这一章是为了让读者尽快开始使用 µC/OS-II。
在开始讲述这些例子之前,笔者想先说明一些在这本书里的约定。
这些例子曾经用Borland C/C++ 编译器(V3.1)编译过,用选择项产生Intel/AMD80186处理器(大模式下编译)的代码。
这些代码实际上是在Intel Pentium II PC (300MHz)上运行和测试过,Intel Pentium II PC可以看成是特别快的80186。
笔者选择PC做为目标系统是由于以下几个原因:首先也是最为重要的,以PC做为目标系统比起以其他嵌入式环境,如评估板,仿真器等,更容易进行代码的测试,不用不断地烧写EPROM,不断地向EPROM仿真器中下载程序等等。
用户只需要简单地编译、链接和执行。
其次,使用Borland C/C++产生的80186的目标代码(实模式,在大模式下编译)与所有Intel、AMD、Cyrix公司的80x86 CPU兼容。
1.00 安装 µC/OS-II本书附带一张软盘包括了所有我们讨论的源代码。
是假定读者在80x86,Pentium,或者Pentium-II处理器上运行DOS或Windows95。
至少需要5Mb硬盘空间来安装uC/OS-II。
请按照以下步骤安装:1.进入到DOS(或在Windows 95下打开DOS窗口)并且指定C:为默认驱动器。
2.将磁盘插入到A:驱动器。
3.键入 A:INSTALL 【drive】注意『drive』是读者想要将µC/OS-II安装的目标磁盘的盘符。
INSTALL.BAT 是一个DOS的批处理文件,位于磁盘的根目录下。
它会自动在读者指定的目标驱动器中建立\SOFTWARE目录并且将uCOS-II.EXE文件从A:驱动器复制到\SOFTWARE并且运行。
µC/OS-II将在\SOFTWARE目录下添加所有的目录和文件。
面向二十一世纪的嵌入式系统设计技术第五讲:ucOS/II 实时操作系统RTOS(一):ucOS/II2002 年 1 月任课教员:徐欣主讲教员:习勇国防科大电子科学与工程学院嵌入式系统开放研究小组博士博士1What is uC/OS? u: Micro C:controluC/OS : 适合于小的、控制器的操作系统小巧公开源代码,详细的注解可剥夺实时内核可移植性强多任务确定性2002/112美国人The Story of uC/OSJean Labrosse 1992 年编写的商业软件的昂贵应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等1998 年uC/OS-II ,目前的版本uCOS-II2002/11uC/OS-II V2.513嵌入式操作系统—uC/OS概要内核结构- 任务以及调度机制任务间通信uC/OS 的移植在PC 机上运行uC/OS2002/114—uC/OS任务task嵌入式操作系统典型的一个无限循环。
void mytask(void *pdata)for (;;) {do something;waiting;do something;支持64 个任务,每个任务一个特定的优先级。
优先级越高,数字越小系统占用了两个任务,空闲任务和统计任务。
2002/115嵌入式操作系统—uC/OS任务的数据结构—任务控制块任务控制块OS_tcb ,包括任务堆栈指针,状态,优先级,任务表位置,任务链表指针等。
所有的任务控制块分为两条链表,空闲链表和使用链表。
新任务TCB(1) TCB0 TCB1next pre(2)(3)OSTCBFreeList图4.3TCB的双向链表结构TCBn空2002/116任务控制块结构嵌入式操作系统—uC/OSStruct os_tcb {OS_STK*OSTCBStkPtr;struct os_tcb*OSTCBNext;struct os_tcb*OSTCBprev;OS_EVENT *OSTCBEventPtr;void *OSTCBMsg;INT16U OSTCBDly;INT8U OSTCBStat;INT8U OSTCBPrio;INT8U OSTCBX, OSTCBY, OSTCBBitX, OSTCBBitY; } OS_TCB2002/117任务的状态OSTCBStat运行,就绪,等待,挂起OSTCBStat低四位挂起队列邮箱信号量可以有多个准备就绪的任务,但一个时刻只有一个任务可以运行,OSHighRdy2002/118任务的调度--OSScheduC/OS 是占先式实时多任务内核,优先级最高的任务一旦准备就绪,则拥有所有权开始投入运行。