嵌入式实时操作系统uC/OS-II计算机与信息学院吴永忠BCNG课程安排教材:嵌入式实时操作系统uC/OS-II教程,吴永忠等编著,西电出版社第一章嵌入式系统导论4课时第二章嵌入式操作系统中的基本概念3课时第三章任务管理5课时第四章中断与时间管理3课时第五章事件控制块2课时第六章消息4课时第七章信号量与互斥型号量4课时第八章事件标志组第九章内存管理2课时第十章移植与应用4课时试验8课时BCNG考试卷面成绩+平时成绩+试验成绩卷面成绩占60%平时成绩占30%,已上课点名为准,每次1分加权试验成绩占10%BCNG推荐读物与网址绍贝贝,嵌入式实时操作系统uC/OS-II,北京航空航天大学出版社任哲,嵌入式实时操作系统uC/OS-II原理与应用,北京航空航天大学出版社老古开发网周立功单片机华恒网络嵌入式系统综述嵌入式开发网Embedded.com:操作系统的选择uC/OS:Vxworks:嵌入式linuxwinceBCNG目前用户首选的嵌入式操作系统BCNGVxworks用于海陆空BCNGVxworks用于航天第一章嵌入式系统导论1.1嵌入式系统的基本概念1.2嵌入式系统的组成结构1.3嵌入式系统的基本设计方法1.4嵌入式操作系统的基本概念1.5初识μC/OS-IIBCNG1.1嵌入式系统的基本概念1.1.1嵌入式系统的发展概况1.1.1.1嵌入式应用的起源1.1.1.2计算机技术的分化1.1.1.3两大分支的发展方向1.1.2嵌入式系统的定义1.1.3嵌入式系统的特点BCNG1.1嵌入式系统的基本概念1.1.1嵌入式系统的发展概况1.1.1.1嵌入式应用的起源1946.2.15ENIAC(ElectronicNumericalIntegratorAndComputer)长30.48米,宽1米,30个操作台重达30吨耗电量150千瓦造价48万美元。它包含了17,468真空管,7,200水晶二极管,1,500中转,70,000电阻器,10,000电容器,1500继电器,6000多个开关每秒执行5000次加法或400次乘法,是继电器计算机的1000倍、手工计算的20万倍。承担开发任务的“莫尔小组”由四位科学家和工程师埃克特、莫希利、戈尔斯坦、博克斯组成,总工程师埃克特当时年仅24岁。BCNG1.1.1.1嵌入式应用的起源ENIAC诞生的起因二战需要研制新的大炮和导弹要求“弹道试验研究室”提供6张火力表对导弹进行技术鉴定火力表的数学模型是非常复杂的非线性方程组,没有准确的解,只能用数值方法近似求解计算量:每张表需要200计算员计算2个月为了改变这种不利的状况,宾夕法尼亚大学莫尔电机工程学院的莫希利(JohnMauchly)于1942年提出了试制第一台电子计算机的初始设想——“高速电子管计算装置的使用”,期望用电子管代替继电器以提高机器的计算速度。美国军方提供经费15万美元冯·诺依曼(v·nweumann,美籍匈牙利人)对计算机的关键问题作出了重要贡献,保证了它的顺利诞生。ENIAC的意义:宣告了一个新时代的开始。从此科学计算的大门也被打开了。嵌入式应用的起源此后的近30年里:长期供养在机房里为少数精英所掌握用于数值求解1971.11intel公司推出第一颗商用集成电路微处理器INTEL4004C4004出产年份:1971年频率/前端总线:0.74MHz/0.74MHz(4bit)封装/针脚数量:陶瓷DIP/16针核心技术/晶体管数量:10微米/2250每秒运算6万次运行频率:108KHz成本不到100美元一件划时代的作品人类历史上最具革新的产品之一它是第一款商用微处理器,但不是第一款微处理器,第一款是用于F-14雄猫战机中由6颗晶片组成的中央空气数据计算机:CADC(CenterAirDataComputer),构造比4004还要简单,速度只有9.15KHz。BCNG嵌入式应用的起源Intel8080/8085、8086,Motorola的6800、68000,以及Zilog的Z80、Z8000等计算机走出机房广泛地应用于仪器仪表、医疗设备、机器人、家用电器等领域这个时期也被人们称为PC时代。BCNG1978--8086BCNG40048080808580868088802868038680486PentiumPROPentiumMMXPentiumIIPentiumIIIPentium4BCNG嵌入式应用的起源随着计算机运算速度的飞速提高,微型机所表现出来的智力水平引起了控制领域的广泛关注,将微型机嵌入到应用系统中,实现应用系统的智能化控制的设想和实践蕴运而生。计算机厂家开始大量地以插件方式向用户提供OEM产品,再由用户根据自己的需要选择一套适合的CPU板、存储器板以及各种I/O插件板,并将它们嵌入到自己的系统设备中,从而导致了嵌入式计算机系统的诞生。例如,将微机配置好专用软件、外部接口电路,并经机械、电气加固后,安装到飞机、大型舰船、大型电话交换机中构成自动控制系统或状态监测系统等。出于兼容性和灵活性的考虑,系列化、模块化的单板机也问世了,其典型代表是Intel公司的iSBC系列单板机Zilog公司的MCB单板机等。后来人们可以不必从选择芯片开始,而是只要选择各功能模块,就能够组建一台专用计算机系统。用户和开发者都希望从不同的厂家选购最适合的OEM产品,插入外购或自制的机箱中就形成新的系统,这样就要求插件是互相兼容的,从而导致了工业控制微机系统总线的诞生。1976年Intel公司推出了Multibus1983年扩展为带宽达40MB/s的MultibusⅡ。1978年由Prolog设计的简单STD总线被广泛应用。嵌入式应用的起源20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式应用进一步加速发展。面向实时信号处理算法的DSP产品向着高速、高精度、低功耗发展。Texas推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高速智能化发展。在应用方面,掌上电脑、手持PC机、机顶盒技术相对成熟,发展也较为迅速。特别是掌上电脑,1997年在美国市场上掌上电脑不过四五个品牌,而1998年底,各式各样的掌上电脑如雨后春笋般纷纷涌现出来。21世纪无疑是一个网络的时代,使嵌入式计算机系统应用到各类网络中去也成为嵌入式系统发展的重要方向。在发展潜力巨大的“信息家电”中,人们非常关注的网络电话设备,即IP电话,就是一个代表。嵌入式应用的起源计算机被嵌入到应用系统中,原来通用计算机的标准形态便不再复现了,人机交互模式、处理模式、功耗模式也各不相同。为了把实现嵌入式应用的计算机与通用计算机系统区别开来,就把这种以嵌入为手段、以控制为目的的专用计算机称作嵌入式计算机系统。因此,嵌入式系统起源于微型机时代,嵌入式系统的嵌入性是它的一个根本特点,其本质是将计算机嵌入到应用系统中去。嵌入式应用的起源1.1.1.2计算机技术的分化—后PC从产生的背景来看,嵌入式计算机系统与通用计算机系统有着完全不同的技术要求、应用目标和技术发展方向。通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大;应用目标多样化,通过软件的配置完成多种计算。嵌入式计算机系统的应用目标是实现应用系统的智能化控制,技术要求是可靠、可裁减,能满足应用对其体积、功耗等的严格要求,技术发展方向是追求与应用系统密切相关的嵌入性、专用性、智能化和可靠性的提升。计算机技术的分化----后PC时代在早期,由于嵌入式应用范围比较狭窄,大多用于工业控制领域,人们还可以勉强将通用计算机通过改装、加固、定制专业软件等方法,嵌入到大型系统中去实现嵌入式应用,但随着经济、技术的高速发展,嵌入式应用越来越广泛,已经深入到我们生活中的方方面面,比如:小到彩电、空调、洗衣机、手机,大到飞机、导弹、汽车等等,嵌入式应用对计算机的功能、体积、功耗、价格、重量、可靠性等方面的要求越来越苛刻,通过改造通用计算机的传统方法远远不能胜任。因此,嵌入式计算机不得不脱离通用计算机系统走上了独立发展的道路。这就形成了现代计算机两大分支并行发展的时期,也称为后PC时代。1.1.1.3两大分支的发展方向嵌入式计算机系统与通用计算机系统的专业分工和独立发展,导致了当今计算机技术的飞速发展。通用计算机领域致力于发展其专用的软、硬件技术,不必兼顾嵌入式应用的要求,CPU已经从单核发展到双核、四核,微机的处理速度已经远远超过了当年的小中型计算机,超级计算机1秒钟已经能运算千亿条指令;操作系统的发展使计算机在具备了高速处理海量数据能力的同时,应用也越来越方便。嵌入式计算机系统则走上了另一条发展之路——单芯片化。如果说微机开创了嵌入式计算机系统的应用,那么单片机则开创了嵌入式计算机系统独立发展的道路。在单片机的发展道路上,曾出现过两种探索模式,即“Σ模式”和“创新模式”。“Σ模式”本质上是将通用计算机系统中的基本单元进行裁剪后,直接芯片化,构成单片微型计算机;“创新模式”则完全按嵌入式应用的要求,以全新的方式设计能满足嵌入式应用要求的体系结构、指令系统、总线方式、管理模式、外设接口等的单片微型计算机。1976年Intel公司开发的MCS-48和随后开发的MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型体系结构。嵌入式计算机系统简称嵌入式系统,它的应用发源于微机,发展于单片机,那么,究竟什么是嵌入式系统呢?嵌入式系统的定义是怎样的呢?1.1.2嵌入式系统的定义1.1.2嵌入式系统的定义依据IEEE(国际电气和电子工程师协会)的定义是:“Deviceusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants”,即嵌入式系统为控制、监视或者辅助设备、机器或甚至工厂运作的装置,它是一种计算机软件和硬件综合体,并且特别强调“量身定制”的原则,也就是基于某种特殊的用途,设计者就会根据这些用途设计出一种截然不同的系统来。按照WayneWolf在其所著的嵌入式系统设计教科书上的定义是“Whatisanembeddedsystem?Looselydefined,itisanydevicethatincludesaprogrammablecomputerbutisnotitselfageneral-purposecomputer.”,意为“不严格地定义,嵌入式系统是包含可编程计算机的任意设备,而它本身并不是作为通用计算机而设计的。”“一台个人电脑不能称之为嵌入式计算系统,尽管它常常被用于搭建嵌入式系统。我国微机学会的定义“嵌入式系统是以嵌入式应用为目的的计算机系统”,并分为系统级、板级、片级。系统级包括各类工控设备、PC104模块等;板级包括各类CPU主板和OEM产品;片级包括各种以单片机、DSP、微处理器为核心的设备。目前在我国流行得比较广泛的定义“嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。”ES=3C(Computer+Communication+Consumerelectronics)+Internet+WAP+GBS+UPS+Sensors+IP+Other――>ESOC。定义嵌入式系统是嵌入到对象体系中的专用计算机系统”“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个