ucos-II在嵌入式领域有哪些应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1ucos-ii内核分析文献综述作者所在系别计算机与遥感信息技术学院作者所在专业计算机科学与技术作者所在班级B11512作者姓名闭雨哲作者学号20134051204指导教师姓名李新荣指导教师职称副教授完成时间2016年4月北华航天工业学院教务处制2文献综述摘要嵌入式系统是较有发展前途的IT应用领域之一,像常见到的手机、PDA、机顶盒、高清电视(HDTV)、路由器、汽车电子、智能家电、医疗仪器、航天航空设备等等都是典型的嵌入式系统。而嵌入式式系统的种类也是五花八门,我们用的比较广泛的当属Linux系统了,作为初学者uC/OSII是一个很好的入门。uC/OSII(MicroControlOperationSystemTwo)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。本文阐述了UCOS—II在嵌入式领域的应用,分别对嵌入式和μC/OS-II的概念进行介绍了,最后以几个实际的列子来说明μC/OS-II在嵌入式中的应用。关键词:嵌入式;μC/OS-II应用3AbstractAnembeddedsystemisoneofthemorepromisingITapplications,suchascommontothemobilephone,PDA,set-topboxes,high-definitiontelevision(HDTV),routers,automotiveelectronics,intelligentappliances,medicalequipment,aerospaceequipment,etc.aretypicalembeddedsystems.Thetypesofembeddedsystemsisvaried,weusedmorewidelyundoubtedlyLinuxsystem,andasabeginneruC/OSIIisagoodplacetostart.uC/OSII(MicroControlOperationSystemTwo)isaROM-basedcanrun,canbecut,preemptivereal-timemultitaskingkernel,highlyportable,especiallysuitableformicroprocessorsandcontrollers,andmanyareBusinessoperatingsystemperformancequitereal-timeoperatingsystem(RTOS).ThispaperdescribesUCOS-IIapplicationintheembeddedfield,namelytheconceptofembeddedanduC/OS-IIwasintroduced,thelastseveralpracticalLiezidescribeduC/OS-IIinembeddedin.Keywords:embedded;uC/OS-IIapplications4第1章引言首先我介绍一下嵌入式以及嵌入式在我国的发展状况。嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业应用的突出特征,目前已经被广泛的应用于军事国防、消费电子、网络通信、工业控制等各个领域。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,能适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。嵌入式系统设计完成复杂功能的硬件和软件,并使其紧密耦合在一起。术语“嵌入式’’反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入式系统。嵌入式系统中又可以共存多个子嵌入式系统。某些情况下,嵌入式系统在功能上是独立的系统。例如,网络路由器是独立的嵌入式系统,它由特殊的通信处理器、内存、许多网络访问接口以及实现它的路由算法的特殊软件组成。换句话说,网络路由器是一个独立的嵌入式系统,路由包从一个端口到另一个端口实现程序化的路由算法。中国是世界未来制造业和加工工业的重要基地之一,也可以说是机械与电子产品制造的重要基地之一。因此,嵌入式的发展在未来的中国一定有一个广阔的天地。在众多的嵌入式开发系统中,μC/OS-II占有着重要的角色。5第2章μC/OS-II操作系统介绍2.1μC/OS-II的发展概况首先我介绍一下嵌入式以及嵌入式在我国的发展状况。嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业应用的突出特征,目前已经被广泛的应用于军事国防、消费电子、网络通信、工业控制等各个领域。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,能适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。嵌入式系统设计完成复杂功能的硬件和软件,并使其紧密耦合在一起。术语“嵌入式’’反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入式系统。嵌入式系统中又可以共存多个子嵌入式系统。某些情况下,嵌入式系统在功能上是独立的系统。例如,网络路由器是独立的嵌入式系统,它由特殊的通信处理器、内存、许多网络访问接口以及实现它的路由算法的特殊软件组成。换句话说,网络路由器是一个独立的嵌入式系统,路由包从一个端口到另一个端口实现程序化的路由算法。中国是世界未来制造业和加工工业的重要基地之一,也可以说是机械与电子产品制造的重要基地之一。因此,嵌入式的发展在未来的中国一定有一个广阔的天地。在众多的嵌入式开发系统中,μC/OS-II占有着重要的角色。2.2μC/OS-II操作系统介绍μC/OS-II操作系统是什么呢?以及有什么特点呢?μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。特别是在当今广泛的被用于嵌入式领域。μC/OS-II的前身是μC/OS,μC/OS和μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。μC/OS-II已经移植到了几乎所有知名的CPU上。严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完6全可以由用户自己根据需要分别实现。uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。2.3uCOSII在单片机使用中的一些特点(1)在单片机系统中嵌入uCOSII将增强系统的可靠性,并使得调试程序变得简单。以往传统的单片机开发工作中经常遇到程序跑飞或是陷入死循环。可以用看门狗解决程序跑飞问题,而对于后一种情况,尤其是其中牵扯到复杂数学计算的话,只有设置断点,耗费大量时间来慢慢分析。如果在系统中嵌入uCOSII的话,事情就简单多了。可以把整个程序分成许多任务,每个任务相对独立,然后在每个任务中设置超时函数,时间用完以后,任务必须交出CPU的使用权。即使一个任务发生问题,也不会影响其他任务的运行。这样既提高了系统的可靠性,同时也使得调试程序变得容易。(2)在单片机系统中嵌入uCOSII将增加系统的开销。现在所使用的51单片机,一般是指87C51或者89C51,其片内都带有一定的RAM和ROM。对于一些简单的程序,如果采用传统的编程方法,已经不需要外扩存储器了。如果在其中嵌入uCOSII的话,在只需要使用任务调度、任务切换、信号量处理、延时或超时服务的情况下,也不需要外扩ROM了,但是外扩RAM是必须的。由于uCOSII是可裁减的操作系统,其所需要的RAM大小就取决于操作系统功能的多少。举例来说,μC/OS-II允许用户定义最大任务数。由于每建立一个任务,都要产生一个与之相对应的数据结构TCB,该数据结构要占用很大一部分内存空间。所以在定义最大任务数时,一定要考虑实际情况的需要。如果定得过大,势必会造成不必要的浪费。嵌入uCOSII以后,总的RAM需求可以由如下表达式得出:RAM总需求=应用程序的RAM需求+内核数据区的RAM需求+(任务栈需求+最大中断嵌套栈需求)·任务数。所幸的是,μC/OS-II可以对每个任务分别定义堆栈空间的大小,开发人员可根据任务的实际需求来进行栈空间的分配。但在RAM容量有限的情况下,还是应该注意一下对大型数组、数据结构和函数的使用,别忘了,函数的形参也是要推入堆栈的。(3)uCOSII的移植也是一件需要值得注意的工作。如果没有现成的移植实例的话,就必须自己来编写移植代码。虽然只需要改动两个文件,但仍需要对相应的微处理器比较熟悉才行,最好参照已有的移植实例。另外,即使有移植实例,在编程前最好也要阅读一下,因为里面牵扯到堆栈操作。在编写中断服务程序时,把寄存器推入堆栈的顺序必须与移植代码中的顺序相对应。72.4uCOSII和Linux的差异uCOS-II和大家所熟知的Linux等分时操作系统不同,它不支持时间片轮转法。uCOS-II是一个基于优先级的实时操作系统,每个任务的优先级必须不同,分析它的源码会发现,uCOS-II把任务的优先级当做任务的标识来使用,如果优先级相同,任务将无法区分。进入就绪态的优先级最高的任务首先得到CPU的使用权,只有等它交出CPU的使用权后,其他任务才可以被执行。所以它只能说是多任务,不能说是多进程,至少不是我们所熟悉的那种多进程。显而易见,如果只考虑实时性,它当然比分时系统好,它可以保证重要任务总是优先占有CPU。但是在系统中,重要任务毕竟是有限的,这就使得划分其他任务的优先权变成了一个让人费神的问题。另外,有些任务交替执行反而对用户更有利。例如,用单片机控制两小块显示屏时,无论是编程者还是使用者肯定希望它们同时工作,而不是显示完一块显示屏的信息以后再显示另一块显示屏的信息。这时候,要是uCOS-II即支持优先级法又支持时间片轮转法就更合适了。μC/OS-II是专门为计算机的嵌入式应用设计的,μC/OS-II具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。μC/OS-II已经移植到了几乎所有知名的CPU上。linux免费,安全,稳定,应用范围广,在嵌入式上,服务器上,家用机,都有广泛应用。μC/OS-IILinux都适合用在嵌入式上。但μC/OS-II是专为嵌入式而设计,这样的结果是,运行效率更高,占用资源更少。linux都可以用作服务器上,使用率高。linux虽然不是专门针对服务器而开发,但其源码公开,完全可以修改,使得两者差异不大,最主要的发行版redhatlinux就是在服务器上用得很多的系统。8第3章μC/OS-II在控制系统中的应用UC/OS-II广泛的应用于控制系统中,就如,在衍射仪高压控制系统中,uC/OS-II就有着很好的应用。控制系统是一个复杂的系统,它需要多个系统协同工作。传统的系统开发我们往往使用前后台的方式,但是这种开发方式在任务较简单的开发中比较适用,对于任务比较复杂的系统往往力不从心。对于任务较多而且复杂的情况我们就要引入实时操作系统RTOS。RTOS体现了一种新的应用程序设计思想和开放的框架,用户在编写程序时,可以分别编写各个任务,不必同时将所有任务运行的各种可能情况记在心中,大大减小了程序编写

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功