ucosII在嵌入式领域有哪些应用分析.docx
- 文档编号:10876433
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:12
- 大小:57KB
ucosII在嵌入式领域有哪些应用分析.docx
《ucosII在嵌入式领域有哪些应用分析.docx》由会员分享,可在线阅读,更多相关《ucosII在嵌入式领域有哪些应用分析.docx(12页珍藏版)》请在冰豆网上搜索。
ucosII在嵌入式领域有哪些应用分析
ucos-ii内核分析文献综述
作者所在系别
计算机与遥感信息技术学院
作者所在专业
计算机科学与技术
作者所在班级
B11512
作者姓名
闭雨哲
作者学号
20134051204
指导教师姓名
李新荣
指导教师职称
副教授
完成时间
2016
年
4
月
北华航天工业学院教务处制
文献综述
摘要
嵌入式系统是较有发展前途的IT应用领域之一,像常见到的手机、PDA、机顶盒、高清电视(HDTV)、路由器、汽车电子、智能家电、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
而嵌入式式系统的种类也是五花八门,我们用的比较广泛的当属Linux系统了,作为初学者uC/OSII是一个很好的入门。
uC/OSII(MicroControlOperationSystemTwo)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。
本文阐述了UCOS—II在嵌入式领域的应用,分别对嵌入式和μC/OS-II的概念进行介绍了,最后以几个实际的列子来说明μC/OS-II在嵌入式中的应用。
关键词:
嵌入式;μC/OS-II 应用
Abstract
AnembeddedsystemisoneofthemorepromisingITapplications,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-IIapplications
第1章引言
首先我介绍一下嵌入式以及嵌入式在我国的发展状况。
嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。
由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业应用的突出特征,目前已经被广泛的应用于军事国防、消费电子、网络通信、工业控制等各个领域。
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,能适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。
嵌入式系统设计完成复杂功能的硬件和软件,并使其紧密耦合在一起。
术语“嵌入式’’反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入式系统。
嵌入式系统中又可以共存多个子嵌入式系统。
某些情况下,嵌入式系统在功能上是独立的系统。
例如,网络路由器是独立的嵌入式系统,它由特殊的通信处理器、内存、许多网络访问接口以及实现它的路由算法的特殊软件组成。
换句话说,网络路由器是一个独立的嵌入式系统,路由包从一个端口到另一个端口实现程序化的路由算法。
中国是世界未来制造业和加工工业的重要基地之一,也可以说是机械与电子产品制造的重要基地之一。
因此,嵌入式的发展在未来的中国一定有一个广阔的天地。
在众多的嵌入式开发系统中,μC/OS-II占有着重要的角色。
第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良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。
uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。
2.3uCOS II在单片机使用中的一些特点
(1)在单片机系统中嵌入uCOS II将增强系统的可靠性,并使得调试程序变得简单。
以往传统的单片机开发工作中经常遇到程序跑飞或是陷入死循环。
可以用看门狗解决程序跑飞问题,而对于后一种情况,尤其是其中牵扯到复杂数学计算的话,只有设置断点,耗费大量时间来慢慢分析。
如果在系统中嵌入 uCOS II的话,事情就简单多了。
可以把整个程序分成许多任务,每个任务相对独立,然后在每个任务中设置超时函数,时间用完以后,任务必须交出 CPU的使用权。
即使一个任务发生问题,也不会影响其他任务的运行。
这样既提高了系统的可靠性,同时也使得调试程序变得容易。
(2)在单片机系统中嵌入uCOS II将增加系统的开销。
现在所使用的51单片机,一般是指87C51或者89C51,其片内都带有一定的RAM和 ROM。
对于一些简单的程序,如果采用传统的编程方法,已经不需要外扩存储器了。
如果在其中嵌入uCOS II的话,在只需要使用任务调度、任务切换、信号量处理、延时或超时服务的情况下,也不需要外扩ROM了,但是外扩RAM是必须的。
由于uCOS II是可裁减的操作系统,其所需要的RAM大小就取决于操作系统功能的多少。
举例来说,μC/OS-II允许用户定义最大任务数。
由于每建立一个任务,都要产生一个与之相对应的数据结构TCB,该数据结构要占用很大一部分内存空间。
所以在定义最大任务数时,一定要考虑实际情况的需要。
如果定得过大,势必会造成不必要的浪费。
嵌入uCOS II以后,总的RAM需求可以由如下表达式得出:
RAM总需求=应用程序的RAM需求+内核数据区的RAM需求+(任务栈需求+最大中断嵌套栈需求)·任务数 。
所幸的是,μC/OS-II可以对每个任务分别定义堆栈空间的大小,开发人员可根据任务的实际需求来进行栈空间的分配。
但在RAM容量有限的情况下,还是应该注意一下对大型数组、数据结构和函数的使用,别忘了,函数的形参也是要推入堆栈的。
( 3)uCOS II的移植也是一件需要值得注意的工作。
如果没有现成的移植实例的话,就必须自己来编写移植代码。
虽然只需要改动两个文件,但仍需要对相应的微处理器比较熟悉才行,最好参照已有的移植实例。
另外,即使有移植实例,在编程前最好也要阅读一下,因为里面牵扯到堆栈操作。
在编写中断服务程序时,把寄存器推入堆栈的顺序必须与移植代码中的顺序相对应。
2.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就是在服务器上用得很多的系统。
第3章μC/OS-II在控制系统中的应用
UC/OS-II广泛的应用于控制系统中,就如,在衍射仪高压控制系统中,uC/OS-II就有着很好的应用。
控制系统是一个复杂的系统,它需要多个系统协同工作。
传统的系统开发我们往往使用前后台的方式,但是这种开发方式在任务较简单的开发中比较适用,对于任务比较复杂的系统往往力不从心。
对于任务较多而且复杂的情况我们就要引入实时操作系统RTOS。
RTOS体现了一种新的应用程序设计思想和开放的框架,用户在编写程序时,可以分别编写各个任务,不必同时将所有任务运行的各种可能情况记在心中,大大减小了程序编写的工作量,而且减小了出错的可能,保证最终程序具有高可靠性,从而降低程序的复杂度和开发周期。
由于控制系统功能较复杂,诸多的功能可以划分成许多不同的模块,模块之间既彼此联系又相对独立,可以当作不同的任务来进行处理。
所以,使用实时操作系统,将不同的功能划分成不同的任务进行处理使得设计大大简化。
现在有很多实时操作系统,但为什么要选择uCOS-II呢?
一些嵌入式实时操作系统如VxWorks,pSOS,WinCE,PalmOS等,大多对系统硬件配置有较高的要求,如要求有内存管理单元(MMU),较大容量的ROM和RAM空间等,同时操作系统自身和相应配套的开发调试工具价格较高,而且许多操作系统的厂商要求用户在批量生产时要按产品数量交纳版税,所以它们对本系统来说都不是最合适的选择。
uCOS-II是由美国工程师Jean Labrosse编写的嵌入式多任务的实时操作系统,包括实时内核、任务管理、时钟管理、任务间通信同步(信号量、邮箱、消息队列)和内存管理。
除了有上面的优点外,uCOS-II它具有这些别的操作系统没有的优点,具体如下:
(1)源代码开放:
uCOS-II的源代码可以免费获取,且标有清晰的注释,可读性好。
(2)可移植性好:
uCOS-II的源代码90%以上是用C语言编写的,可以很容易地把它移植到各类8位、16位和32位处理器上。
(3)稳定性高:
uCOS-II已得到FAA的标准认证,且目前已有上百个商业应用实例,其稳定性和可靠性是经过实践验证的。
由此可见,在衍射仪高压控制系统中使用uCOS-II操作系统是一种很好的选择。
在衍射仪高压控制系统中,需要系统在不同的CPU上运行,但是不同的CPU的硬件结构不同,这就要求我们针对不同的CPU对操作系统进行移植。
uCOS-II有着良好的可移植性,这也是选择uCOS-II的另一个重要原因。
另外,系统要求完成的功能比较繁杂,但根据主要功能可划分为:
和上位机通信并识别命令有效性;根据命令开光闸和关光闸;根据命令输出步进精确频率脉冲对电压和电流进行控制;根据采样频率对电压和电流进行校准;根据命令读取当前电压和电流的控制频率;检测到故障分步骤切断电压和电流的控制频率并切断继电器组。
由于uCOS-II具有很好的扩展性,这也十分满足设计的需要。
在后面的中断管理等,用uCOS-II也可以很好的实现。
第4章uCOS-II在单片机中的应用
在嵌入式控制领域,uCOS-II还有很多很多应用,就如上面的衍射仪高压控制系统,在这里我就不一一举例。
除了在控制领域外,uCOS-II还可以用在单片机的设计中。
就如,在日常的文件管理工作中,经常需要管理人员对文件的借出与归还等进行登记管理、建立日志信息等,便于文具的跟踪与日后查阅。
尤其在涉密行 业中,对文件的管理就显得更为关键和重要。
若能实现对文件的智能管理,自动记录文件日志,势必会大大提高文件管理的质量和效率。
目前围内少数厂家对实现文件的智能管理也有相关探索,但功能比较单一,效果并不理想。
如果设计一套文件智能管理柜系统,不仅实现对文件借入与归还的自动记录,并采用拍照系统使记录更为丰富详尽,还采用指纹比对来实现文件权限的控制,该系统还具有震动报警功能。
中央控制系统采用8位高性价比的c805lFl20单片机,使得结构简单,体积小,功耗低并提供丰富的接口资源。
该控制系统搭载了高性能多任务实时操作系ucos-II,使程序编制显得异常简单,多个任务有效切换,这样就能保证极高的实时响应速度,使系统可靠性、稳定性和实时性都得到了较好的保证。
这个例子就是uCOS-II与单片机较好结合的一个经点实例。
该系统主要由上位PC和下位智能文件柜组成,上位Pc可对下位智能文件柜的状态和文件记录信息等进行查询。
下位智能文件柜主要由以下几个部分构成:
中央控制系统、RFID读写器、摄像头、指纹仪、震动传感器、电控锁和报警器。
在这个系统中的中央控制系统的设计中,uCOS-II就能很好的实现这个功能。
以8位单片机为核心的控制系统,程序一般采用前后台方式编写。
后台运行一个大的无限循环,前台为多个中断。
这种方式在程序规模较大、系统功能较为复杂,尤其是在系统的并发模块较多的情况下,就显得力不从心,很难保证系统的实时性,而且编写困难,不便于功能扩充。
uCOs-II是一个非常精小的高实时性多任务操作系统内核,可移植性很好,很容易将它移植到该系统的MCU上。
基于uCOS-II编写应用程序比较简单。
首先根据系统功能划分一些相对独立的子功能模块,每个模块作为一个“任务”。
所谓“任务”,就是一个比较特殊的函数(无返回),主体也足个无限循环,循环里完成一定的功能。
多个任务之间有一个实时的调度算法,按照任务的优先级来调度这些任务执行。
用户中断可随时中断这些任务的执行。
可见,这种广义的“前后台系统”。
只不过后台是多个循环在调度轮流执行。
任务之间以及任务与中断服务程序之间可以调用信号量、消息邮箱、消息队列、延时等系统服务来实现彼此问的通信和同步。
从宏观上来看,多个任务是并发执行的。
这样就可以较为完整的设计出文件柜的控制系统。
第4章ucos-ii在嵌入式系统中的应用
4.1.1ucos-ii应用在嵌入式智能视觉监控系统中
基于BF533的嵌入式系统的外围电路主要可分为三个部分:
图像采集部分,网络传输部分,存储器部分。
ucos-ii应用在嵌入式智能视觉监控系统中主要实现对运动目标的跟踪监控和将原始数字图象转化为BMP格式并向网络发送现场图片的功能。
在ucos-ii中分配了两个任务优先级0和1给对运动目标的跟踪和网络传输。
之所以使网络传输的任务优先级低于对运动目标跟踪的任务,是因为考虑到网络延时等因素会造成对运动目标跟踪的实时性效果比较差,对图像做二值化和差分等运算的时间不大于150mS以及摄像机云台运动一次的时间大概是500mS。
本系统在对运动目标跟踪任务中采取的策略是:
每当任务完成一次跟踪,就使自己进入挂起状态,直到每秒定时到后,在时钟节拍中断服务程序中唤醒该任务使之处于就绪状态。
嵌入式系统常用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,实时响应要求很高,特别是在面向视频应用的系统中。
嵌入式操作系统具有体积小、实时性好等优点。
嵌入式操作系统ucos-ii就是基于任务优先级抢占的嵌入式实时操作系统。
4.1.2uCOS-II在车载GPS移动终端中的应用
目前市场上的商用嵌入式系统产品,如Vxwork、PSOS和WindowsCE等已经十分成熟,提供有力的开发和调试工具,但开发成本昂贵,而uCOS-II是一种多任务实时操作系统,内核源代码公开,短小精干,移植性较强,非常适用于一些小型系统开发。
本系统描述了如何将uCOS-II移植应用到MCS51系列单片机上,并论述了如何把它实际应用到“嵌入式设备—车载GPS”系统中。
车载移动终端主要完成以下这些控制功能:
(1)位置及相关信息传送,包括实时请求发送、等时间间隔发送、等距离发送,传送方式包括GPRS方式和短信方式,由于用GPRS方式进行数据通讯按流量记费,每1K字节2-3分钱,费用相对短信低很多,因此本系统采用GPRS为主,短信为辅的通讯方式。
(2)报警功能,分以下几部分:
A、特定区域报警功能:
设定报警特定区域后(如控制中心规定的行驶任务区域),当车辆驶出设定区域时,监控中心向车载单元报警,并及时记录车辆的实时位置信息。
B、紧急报警功能:
当车辆遇到抢劫、交通事故等紧急情况时,司机可以通过紧急求救按钮向控制中心发出求救信号,并上传车辆定位数据。
C、防盗报警功能:
当车辆设为防盗状态时,任何对车辆的非法移动,车载单元会自动报警并上传车辆定位数据。
D、掉电报警功能:
当车载单元主电源掉电(或被人为切断)时,车载单元会自动报警并上传车辆定位数据。
E、能自动报警与手动报警相结合:
系统支持手动的单键报警和智能设备产生的自动报警功能。
单键人工报警需要司机进行快速隐蔽的单键操作快速报警。
自动报警如智能非法移动报警,系统自动产生报警信息并发送到监控中心,并保存报警数据,监控中心的人员可以根据需要采取措施。
(3)电源监控功能,实时监控备用电源,如果发现电量不够,将自动切换到充电模式,直到电量充足后自动切断充电模式。
图1系统结构图
第5章结束语
由以上介绍可以看出,uCOS II具有免费、使用简单、可靠性高、实时性好等优点,但也有移植困难、缺乏必要的技术支持等缺点,尤其不像商用嵌入式系统那样得到广泛使用和持续的研究更新。
但开放性又使得开发人员可以自行裁减和添加所需的功能,在许多应用领域发挥着独特的作用。
当然,是否在单片机系统中嵌入uCOS II应视所开发的项目而定,对于一些简单的、低成本的项目来说,就没必要使用嵌入式操作系统了。
除了上面所说的控制领域和单片机领域外,uCOs-II在嵌入式系统中还有很多应用。
比如在移动通信终端领域,uCOs-II也有着很好的应用。
在现在的GPS设备,手机终端等都大量采用uCOs-II操作系统。
又比如在有线数字电视领域,机顶盒的设计中,uCOs-II也有着广泛的应用天地等等。
这样的列子还有很多,在这里就不予一一的列出。
总之,uCOs-II以开放的源代码,良好的可移植性以及较高的稳定性和其他的一些突出的特点广泛的被用在各个领域。
本文献主要来源自网络资源。
uCOS内核分析(论文)文献综述
指导教师意见
指导教师:
年月日
专业教研室审查意见
负责人:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ucosII 嵌入式 领域 哪些 应用 分析
![提示](https://static.bdocx.com/images/bang_tan.gif)