嵌入式实时操作系统uCOS-II_吴永忠
嵌入式实时操作系统_uCOSII

uC/OS-II北京邮电大学计算机学院 邝 坚 2011年10月教材及参考文献《嵌入式实时操作系统 uC/OS-II(第2 版)》,Jean brosse, 邵贝贝, 北航出版 社, 2003年1月uC/OS-II的主要特点实时性可确定:绝大多数系统服务的执行时间具有可确定 性,不依赖于用户应用程序Task数目的多少。
多任务、独立栈:最多64个Task,基于优先级抢占调度方 式。
每个Task有自身独立的堆栈。
可裁减性:系统最小可裁减到几K到十几K,这种裁减还可 以做到基于函数级。
可移植性:与CPU体系结构相关部分用汇编编写,其他功 能组件CPU无关。
可靠、稳定性:由整个系统设计来保证,市场验证。
美国 联邦航空管理局(FAA)认证。
开源代码:内核约5500行C代码。
可固化:面向嵌入式应用。
系统功能实时内核 任务管理 时间管理 信号量、互斥信号量管理 事件标志组管理 消息邮箱管理 消息队列管理 内存管理 …Targets x86 68k PPC CPU32 i960 SPARC ARM MIPS XScale …Typical development configurationEthernetRS-232Development HostTargetTypical scenario:1. Boot target. 4. Download object module. 2. Attach target server. 5. Test & Debug. 3. Edit & compile. 6. Return to 3 or 1 as necessaryMulti-TaskingTask是代码运行的一个映像,从系统的角 度看,Task是竞争系统资源的最小运行单 元。
Task可以使用或者等待CPU、I/O设备 及内存空间等系统资源,并独立于其它的 Task,与它们一起并发运行。
Task OperationPriority-base preemptive scheduling(基 于优先级的抢占式调度)Task调度器上锁和开锁给调度器上锁函数OSSchedlock() 用于临 时禁止任务调度,直到任务完成后调用给 调度器开锁函数OSSchedUnlock()为止。
ucOSII实时操作系统共41页

面向二十一世纪的嵌入式系统设计技术第五讲: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 是占先式实时多任务内核,优先级最高的任务一旦准备就绪,则拥有所有权开始投入运行。
嵌入式实时操作系统uC OS-2教程(吴永忠)章 (6)

第6章 消 息
2. 消息邮箱的特点 消息邮箱具有如下特点: (1) 消息邮箱中的内容是一个指向消息的指针,指针指向 的内容即是消息; (2) 消息邮箱为满时,消息邮箱只包含一个指向消息的指 针;消息邮箱为空时,消息邮箱的指针指向NULL; (3) 消息邮箱只能接收和发送一则消息,消息邮箱为满时, 将丢弃新消息,保留旧消息。
2. 程序流程及源代码 OSMboxCreate()函数程序流程及源代码如图6.2所示,说 明如下:
第6章 消 息 图6.2 OSMboxCreate()函数程序流程与源代码
第6章 消 息
(1) 定义开关中断的方法。 (2) 中断服务子程序不能调用OSMboxCreate()函数。 (3) 从空余事件控制块链表中获得一个事件控制块ECB, OSEventFreeList指针指向的是第一个空余事件控制块。 (4) 检查事件控制块是否可用。 (5) 如果获取的事件控制块可用,则需要调整OSEvent FreeList指针,使其继续指向剩余的第一个空事件控制块。 (6) 如果事件控制块不可用,则返回。
第6章 消 息
第6章 消 息
6.1 消息邮箱管理 6.2 消息队列管理 习题
第6章 消 息
6.1 消息邮箱管理
6.1.1 概述 消息邮箱是一种通信机制,它能使任务或中断服务向另一
个任务发送一个指针型的变量,这个指针指向一个包含指定 “消息”的数据结构。消息邮箱发送的不是消息本身,而是消 息的地址指针。
第6章 消 息
5. 任务、中断服务子程序与消息邮箱之间的关系 任务、中断服务子程序与消息邮箱之间的关系如图6.1所 示。
第6章 消 息 图6.1 任务、中断服务子程序与消息邮箱之间的关系
第6章 消 息
嵌入式实时操作系统uC OS-2教程(吴永忠)章 (10)

第10章 μC/OS-Ⅱ的移植与应用 图10.1 µC/OS-Ⅱ软硬件体系结构
第10章 μC/OS-Ⅱ的移植与应用
表10.1 移植需要修改的文件一览表
名称 BOOLEAN INT8U INT8S INT16U INT16S INT32U INT32S FP32 FP64 OS_STK OS_CPU_SR OS_CRITICAL_METHOD OS_STK_GROWTH OS_ENTER_CRITICAL() OS_EXIT_CRITICAL() OSStartHighRdy() OSCtxSw()
名称 OSIntCtxSw() OSTickISR() OSTaskStkInit() OSInitHookBegin() OSInitHookEnd() OSTaskCreateHook() OSTaskDelHook() OSTaskSwHook() OSTaskStatHook() OSTCBInitHook() OSTimeTickHook() OSTaskIdleHook()
INT16S;
位数
*/
typedef unsigned long INT32U;
位数
*/
typedef signed long
INT32S;
位数
*/
typedef float
FP32;
点数
/*无符号16 /*有符号16 /*无符号32 /*有符号32 /*单精度浮 */
第10章 μC/OS-Ⅱ的移植与应用
第10章 μC/OS-Ⅱ的移植与应用
第二种实现OS_ENTER_CRITICAL()和OS_EXIT_ CRITICAL() 的方法是先将中断禁止状态保存到堆栈中,然后禁止中断,而 执行OS_EXIT_CRITICAL()的时候只是从堆栈中恢复原来的中断 状态。
嵌入式实时操作系统uC OS-2教程(吴永忠)章 (4)

第4章 中断处理与时间管理
4.1 中断处理的基本概念 4.2 μC/OS-Ⅱ的中断处理 4.3 μC/OS-Ⅱ的时钟节拍 4.4 μC/OS-Ⅱ的时间管理 习题
第4章 中断处理与时间管理
4.1 中断处理的基本概念
4.1.1 中断 中断定义为CPU对系统内外发生的异步事件的响应。异步
中断响应考虑的是系统在最坏情况下的响应中断时间,而 不是平均时间。如某系统100次中有99次在100 μs之内响应中 断,只有一次响应中断的时间是250 μs,只能认为中断响应 时间是250 μs。
第4章 中断处理与时间管理
4.1.4 中断恢复时间 中断恢复时间(Interrupt Recovery)定义为CPU返回到被
第4章 中断处理与时间管理 在前后台系统中:
中断延迟
=
MAX
最长指令 时间
,关 最中 长断 时的 间
+
中断向量 距转时间
在不可剥夺型和不可剥夺内核中:
中断延迟 = MAX
最长指令 时间
,中用断户时关间
,中内断核时关间 +
中断向量 跳转时间
第4章 中断处理与时间管理
4.1.3 中断响应 中断响应定义为从中断发生起到开始执行中断用户处理程
特点是中断优先级高、延迟时间短、响应快、不能被嵌套、不 能忍受内核的延迟,一般常应用于紧急事件处理,如掉电保护 等。非屏蔽中断的规则如下:
(1) 在非屏蔽中断处理程序中,不能处理临界区代码、不 能使用内核提供的服务。
(2) 在非屏蔽中断处理程序中,参数的传递必须用全程变 量,且全程变量的字节长度必须能够一.6 μC/OS-Ⅱ的中断处理过程示意图
第4章 中断处理与时间管理
嵌入式实时操作系统μcos_Ⅱ的移植探讨

计算机应用Computer Application《自动化技术与应用》2003年第22卷第5期嵌入式实时操作系统μc/os-Ⅱ的移植探讨雷必成,吴高标,吴永良(台州学院计算机系 台州 317000)摘要:介绍一种嵌入实时操作系统———μc/os-Ⅱ的特点和基本组成。
以μc/os-Ⅱ在MCS-51上的移植为例,着重讨论μc/os-Ⅱ在移植过程中必须注意的几个问题。
并讨论其它处理器对同一问题的不同处理方式。
关键词:实时操作系统;嵌入式;移植;MCS-51中图分类号:TP31612 文献标识码:A 文章编号:100327241(2003)0520069203Transplanting of The Embedded Real T ime OperationSystem-μcΠo s-ⅡLEI Bi-cheng,WU G ao-biao,WU Yong-liang(Computer Department o f Taizhou Univer sity,Taizhou317000,China)Abstract:To introduce the characteristics and basic constitution o f the embedded Real Time Operation System-μcΠos-Ⅱ,it puts an emphasis on sever2 al problems on the transplanting process o fμcΠos-Ⅱ,taking“μcΠos-Ⅱtransplanting into MCS-51”for example.And it also involves different approaches to the same issue on other processor s.K ey words:RTOS;Embedded;Transplanting;MCS-511 引言在嵌入式应用系统的设计中,实时操作系统的应用越来越受到重视。
嵌入式实时操作系统μCOS-Ⅱ的研究

嵌入式实时操作系统μC/OS-Ⅱ的研究
近年来,随着计算机和通信技术的快速发展,嵌入式系统技术以其简洁、高效等优点成为了最热门的技术之一。
目前,航天航空、交通、工业控制、通信等各个领域已经广泛的应用了嵌入式系统技术。
在嵌入式系统中,嵌入式操作系统的实时性越来越来重要。
嵌入式实时操作系统μC/OS-Ⅱ具有小巧、性能稳定、开源、移植简单、硬实时性等优点而得到广泛的应用。
虽然μC/OS-Ⅱ有如此多的优点,但是实时性方面还存在不足之处。
本文深入分析了嵌入式实时操作系统μC/OS-Ⅱ的内核,重点研究了任务延时与软件定时器功能。
针对μC/OS-Ⅱ操作系统中任务延时的缺陷,参考C8051F系列单片机的片内PCAO (Programmable Counter Array 0),研究了一种基于硬件的、以提高系统的运行速度与实时性的延时机制。
经测试,得出此方法可以提高系统的实时性、减小系统的额外开销。
本文还对软件定时器中多个定时器同时完成定时的情况进行分析,根据存在的问题为定时器赋予不同的优先级,使用独立的任务执行回调函数,使定时器的回调函数按优先级先后顺序执行,以提高系统的实时性。
在以第二代Cortex-M3为内核的路虎LPC1786开发板上进行测试,通过比较原操作系统与改进后系统的运行情况,得出改进后的系统提高了系统的实时性。
基于uCOS-Ⅱ的嵌入式数控系统实时性分析

rs l idc ts ta hs e e d d n me ia o tols se h sp re t e li h rce ,lw os a d ihp ror n e th s e tn ie e ut n iae h tti mb d e u rc lc nr y tm a e fc ra- me c aa tr o c t n hg -e f ma c ,I a xe sv t a p iain p lc t . o
维普资讯
第 3 卷 第 2 期 2 2
、 t 2 , 0 3
No. 2 2
计
算
机
工
程
20 年 1 月 06 1
No e b r2 0 v m e 0 6
Co p t rEn i e rn m u e gn e i g
・ 工程 应用 技术 与 实现 ・
o COS I i e c i e .An e t e o y t m c e u e i a u e . e p p r as nay e h y t m e l i e f r a c n tb l y Th fu -I s d s rb d d t i fs se s h d l sme s r d Th a e lo a l z st e s s e r a - me p r o m n e a d s a ii . e h m t t
构建 的嵌 入式数控 系统 的实时. 好 ,且 具有低 成本、高性 能的特点 ,具有广泛 的应 用前景。 『 生
关健词 :实时操 作系统 ; C SI R u O - ;A M I
Re ltm eAn l sso b d e a -i ay i fEm e d d CNC y t m s d o S se 实时操作系统构建嵌入式工业控制 系 统 平台 已经成为一种 发展趋势 。u O - C Sl I是专 门为嵌 入式系 统 设计 的硬 实I H r e l i )  ̄( adR a Tme多任 务内核。 的内核精简 , 它 多任 务管理功能相对完善 ,实时性 能好 ,可裁剪 ,可 固化 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.1.1嵌入式应用的起源
1946.2.15 ENIAC (Electronic Numerical Integrator And Computer)
长30.48米,宽1米,30个操作台重达30吨 耗电量150千瓦 造价48万美元。 它包含了17,468 真空管,7,200水晶 二极管, 1,500 中转, 70,000 电阻器, 10,000 电容器, 1500继电器,6000多个开关 每秒执行5000次加法或400次乘法,是继电器计 算机的1000倍、手工计算的20万倍。
BC NG
1.1嵌入式系统的基本概念
1.1.1 嵌入式系统的发展概况
1.1.1.1 嵌入式应用的起源 1.1.1.2 计算机技术的分化 1.1.1.3 两大分支的发展方向
1.1.2 嵌入式系统的定义 1.1.3 嵌入式系统的特点
BC NG
1.1嵌入式系统的基本概念
1.1.1 嵌入式系统的发展概况
计算机技术的分化----后PC时代
在早期,由于嵌入式应用范围比较狭窄,大多用于工业控 制领域,人们还可以勉强将通用计算机通过改装、加固、 定制专业软件等方法,嵌入到大型系统中去实现嵌入式应 用,但随着经济、技术的高速发展,嵌入式应用越来越广 泛,已经深入到我们生活中的方方面面,比如:小到彩电、 空调、洗衣机、手机,大到飞机、导弹、汽车等等,嵌入 式应用对计算机的功能、体积、功耗、价格、重量、可靠 性等方面的要求越来越苛刻,通过改造通用计算机的传统 方法远远不能胜任。 因此,嵌入式计算机不得不脱离通用计算机系统走上了独 立发展的道路。这就形成了现代计算机两大分支并行发展 的时期,也称为后PC时代。
在单片机的发展道路上,曾出现过两种探索模式,即“Σ模式”和 “创新模式”。
“Σ模式”本质上是将通用计算机系统中的基本单元进行裁剪后,直接芯片化, 构成单片微型计算机; “创新模式”则完全按嵌入式应用的要求,以全新的方式设计能满足嵌入式应 用要求的体系结构、指令系统、总线方式、管理模式、外设接口等的单片微型 计算机。 1976年Intel公司开发的MCS-48和随后开发的MCS-51就是按照创新模式发展起 来的单片形态的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展 的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型体系结构。
嵌入式应用的起源
20世纪90年代,在分布控制、柔性制造、数字化通信和信息 家电等巨大需求的牵引下,嵌入式应用进一步加速发展。
面向实时信号处理算法的DSP产品向着高速、高精度、低功耗发展。 Texas推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高 速智能化发展。
在应用方面,掌上电脑、手持PC机、机顶盒技术相对成熟, 发展也较为迅速。
1.1.1.3两大分支的发展方向
嵌入式计算机系统与通用计算机系统的专业分工和独立发展,导致 了当今计算机技术的飞速发展。
通用计算机领域致力于发展其专用的软、硬件技术,不必兼顾嵌入式 应用的要求,CPU已经从单核发展到双核、四核,微机的处理速度已经 远远超过了当年的小中型计算机,超级计算机1秒钟已经能运算千亿条 指令;操作系统的发展使计算机在具备了高速处理海量数据能力的同 时,应用也越来越方便。 嵌入式计算机系统则走上了另一条发展之路——单芯片化。如果说微 机开创了嵌入式计算机系统的应用,那么单片机则开创了嵌入式计算 机系统独立发展的道路。
绍贝贝,嵌入式实时操作系统uC/OS-II,北京 航空航天大学出版社 任哲,嵌入式实时操作系统uC/OS-II原理与应 用,北京航空航天大学出版社 老古开发网 周立功单片机 华恒网络 ,嵌入式系统综述 嵌入式开发网 : /
例如,将微机配置好专用软件、外部接口电路,并经机械、 电气加固后,安装到飞机、大型舰船、大型电话交换机中构 成自动控制系统或状态监测系统等。
嵌入式应用的起源
出于兼容性和灵活性的考虑,系列化、模块化的单板 机也问世了,其典型代表
是Intel公司的iSBC系列单板机 Zilog公司的MCB单板机等。
后来人们可以不必从选择芯片开始,而是只要选择各 功能模块,就能够组建一台专用计算机系统。用户和 开发者都希望从不同的厂家选购最适合的OEM产品, 插入外购或自制的机箱中就形成新的系统,这样就要 求插件是互相兼容的,从而导致了工业控制微机系统 总线的诞生。 1976年Intel公司推出了Multibus 1983年扩展为带宽达40MB/s的MultibusⅡ。 1978年由Prolog设计的简单STD总线被广泛应用。
一件划时代的作品 人类历史上最具革新的产品之一
它是第一款商用微处理器,但不是第一款微处理器, 第一款是用于F-14雄猫战机中由6颗晶片组成的中央空 气数据计算机:CADC(Center Air Data Computer),构造比4004还要简单,速度只 有9.15KHz。
BC NG
嵌入式应用的起源
承担开发任务的“莫尔小组”由四位科学家 和工程师埃克特、莫希利、戈尔斯坦、博克 斯组成,总工程师埃克特当时年仅24岁。
BC NG
1.1.1.1嵌入式应用的起源
ENIAC 诞生的起因
二战需要研制新的大炮和导弹 要求“弹道试验研究室”提供6张火力表对导弹进行技术鉴定 火力表的数学模型是非常复杂的非线性方程组,没有准确的 解,只能用数值方法近似求解 计算量:每张表需要200计算员计算2个月 为了改变这种不利的状况,宾夕法尼亚大学莫尔电机工程学 院的莫希利(John Mauchly)于 1942年提出了试制第一台电 子计算机的初始设想——“高速电子管计算装置的使用”,期 望用电子管代替继电器以提高机器的计算速度。 美国军方提供经费15万美元 冯·诺依曼(v·n weumann,美籍匈牙利人)对计算机的关键 问题作出了重要贡献,保证了它的顺利诞生。
1.1.2嵌入式系统的定义
嵌入式计算机系统简称嵌入式系统,它 的应用发源于微机,发展于单片机,那 么,究竟什么是嵌入式系统呢?嵌入式 系统的定义是怎样的呢?
1.1.2嵌入式系统的定义
依据IEEE(国际电气和电子工程师协会)的定 义是:“Device used to control, monitor, or assist the operation of equipment, machinery or plants”,即嵌入式系统为控制、监视或者辅 ” 助设备、机器或甚至工厂运作的装置,它是一 种计算机软件和硬件综合体,并且特别强调 “量身定制”的原则,也就是基于某种特殊的 用途,设计者就会根据这些用途设计出一种截 然不同的系统来。
嵌入式实时操作系统uC/OS-II
计算机与信息学院 吴永忠
BC NG
课程安排
章 章 章 章 章 章 章 章 章 章 嵌入式系统导论 嵌入式操作系统中的基本概念 任务管理 中断与时间管理 事件控制块 消息 信号量与互斥型号量 事件标志组 内存管理 移植与应用 4课时 3课时 5课时 3课时 2课时 4课时 4课时 2课时 4课时 8课时
ENIAC的意义:宣告了一个新时代的开始。从此科学计算 的大门也被打开了。
嵌入式应用的起源
此后的近30年里:
长期供养在机房里 为少数精英所掌握 用于数值求解
1971.11 intel公司推出第一颗商用集成电路微处理 器INTEL4004
C4004
出产年份: 1971年 频率/前端总线 : 0.74MHz / 0.74MHz (4bit) 封装/针脚数量 : 陶瓷DIP / 16针 核心技术/晶体管数量: 10微米 / 2250 每秒运算6万次 运行频率:108KHz 成本不到100美元
教材:
嵌入式实时操作系统uC/OS-II教程,吴永忠 等编著,西电出版社
第 一 第 二 第 三 第 四 第 五 第 六 第 七 第 八 第 九 第 十 试验
BC NG
考试
卷面成绩+平时成绩+试验成绩
卷面成绩占60% 平时成绩占30%,已上课点名为准,每次1 分加权 试验成绩占10%
BC NG
推荐读物与网址
我国微机学会的定义
“嵌入式系统是以嵌入式应用为目的的计 算机系统”,并分为系统级、板级、片 级。
系统级包括各类工控设备、PC104模块等; 板级包括各类CPU主板和OEM产品; 片级包括各种以单片机、DSP、微处理器为 核心的设备。
按照Wayne Wolf在其所著的嵌入式系统设计教 科书上的定义是“What is an embedded system? Loosely defined, it is any device that includes a programmable computer but is not itself a general-purpose computer.”,意为 “不严格地定义,嵌入式系统是包含可编程计 算机的任意设备,而它本身并不是作为通用计 算机而设计的。” “一台个人电脑不能称之为嵌入式计算系统, 尽管化—后PC
从产生的背景来看,嵌入式计算机系统与通用 计算机系统有着完全不同的技术要求、应用目 标和技术发展方向。
通用计算机系统的技术要求是高速、海量的数值计 算;技术发展方向是总线速度的无限提升,存储容 量的无限扩大;应用目标多样化,通过软件的配置 完成多种计算。 嵌入式计算机系统的应用目标是实现应用系统的智 能化控制,技术要求是可靠、可裁减,能满足应用 对其体积、功耗等的严格要求,技术发展方向是追 求与应用系统密切相关的嵌入性、专用性、智能化 和可靠性的提升。
BC NG
操作系统的选择
uC/OS: Vxworks: 嵌入式linux wince
BC NG
目前用户首选的嵌入式操作系统
Vxworks用于海陆空
BC NG
Vxworks用于航天
BC NG
第一章 嵌入式系统导论
1.1 1.2 1.3 1.4 1.5 嵌入式系统的基本概念 嵌入式系统的组成结构 嵌入式系统的基本设计方法 嵌入式操作系统的基本概念 初识μC/OS-II