为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ucos操作系统特点

2019-02-21 5页 doc 17KB 6阅读

用户头像

is_598835

暂无简介

举报
ucos操作系统特点uCOS II的内核是和应用程序放在一路编译成一个文件的,施用者只消把这个文件转换成HEX格式,写入ROM中就能够了,上电后,会像普通的单片机程序一样运行早在20百年60年代,就已经有人开始研究和开发嵌入式操作体系但直到最近,它才在海内被越来越多的提及,在通信、电子、自动化等需要实时处理的范畴所曰益闪现的重要性吸引了人们越来越多的注意力可是,人们所谈论的往往是一些著名的贸易内核,诸如VxWorks、PSOS等这些贸易内核机能优越,但价格极其昂贵,主要用于16位和32位处理器中,针对海内大部分用户施用的51系列8位单片机,可以选...
ucos操作系统特点
uCOS II的内核是和应用程序放在一路编译成一个文件的,施用者只消把这个文件转换成HEX格式,写入ROM中就能够了,上电后,会像普通的单片机程序一样运行早在20百年60年代,就已经有人开始研究和开发嵌入式操作体系但直到最近,它才在海内被越来越多的提及,在通信、电子、自动化等需要实时处理的范畴所曰益闪现的重要性吸引了人们越来越多的注意力可是,人们所谈论的往往是一些著名的贸易内核,诸如VxWorks、PSOS等这些贸易内核机能优越,但价格极其昂贵,主要用于16位和32位处理器中,针对海内大部分用户施用的51系列8位单片机,可以选择不收费的uCOS II 1.uCOS II是由Labrosse先生编写的一个开放式内核,最主要的特点就是源码公开这一点对于用户来讲可以说利弊参半,好居于于,一方面它是不收费的,另外一方面用户可以根据自己的需要对它举行修改缺点在于它缺少必要的支持,没有功能壮大的软件包,用户凡是需要自己编写驱动程序,特别是如果用户施用的是不太常用的单片机,还必须自己编写移植程序 2.uCOS II是一个占先式的内核,即已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU施用权这个特点要得它的实时性比非占先式的内核要好凡是我们都是在中断办事程序中使高优先级任务进入就绪态(例如发信 号),这样退出中断办事程序后,将举行任务切换,高优先级任务将被执行拿51单片机为例,比较一下就能够发现这样做的好处假如需要用中断体式格局采集一批数据并举行处理,在传统的编程要领中不克不及在中断办事程序及第行复杂的数据处理,因为这会要得关中断时间过长所以经常接纳的要领是置一标志位,之后退出中断因为主程序是循环执行的,所以它总有机会检测到这一标志并转到数据处理程序中去可是因为没有办法确定发生中断时程序到尽头执行到了什么地方,也就没有办法判断要经过多永劫间数据处理程序才会执行,中断响应时间没有办法确定,体系的实时性不强如果施用μC/OS-II的话,只要把数据处理程序的优先级设定得高一些,并在中断办事程序中使它进入就绪态,中断结束后数据处理程序就会被立即执行这样可以把中断响应时间限制在一定的范围内对于一些对中断响应时间有严酷要求的体系,这是必不可少的。但应该指出的是如果数据处理程序简略,这样做就不一定适合因为uCOS II要求在中断办事程序末尾施用OSINTEXIT函数以判断是否举行任务切换,这需要破费一定的时间 3.uCOS II和各人所熟知的Linux平分时操作体系差别,它不支持时间片轮转法uCOS II是一个基于优先级的实时操作体系,每个任务的优先级必须差别,分析它的源码会发现, uCOS II把任务的优先级当做任务的标识来施用,如果优先 级不异,任务将没有办法区分进入就绪态的优先级最高的任务首先获得CPU的施用权,只有等它交出CPU的施用权后,其他任务才可以被执行所以它只能说是多任务,不克不及说是多进程,至少不是我们所熟悉的那种多进程显而易见,如果只考虑实时性,它当然比分时体系好,它可以保证重要任务总是优先占有CPU可是在体系中,重要任务毕竟是有限的,这就要得划分其他任务的优先权酿成为了一个让人劳神的问题另外,有些任务瓜代执行反倒对用户更有帮助例如,用单片机控制两小块显示屏时,无论是编程者照旧施用者必定希望它们同时工作,而不是显示完一块显示屏的信息往后再显示另外一块显示屏的信息这时候,要是uCOS II即支持优先级法又支持时间片轮转法就更适合了 4.uCOS II对共享资源供给了保护机制正如上所述文所提到的,uCOS II是一个支持多任务的操作体系一个完整的程序可以划分成几个任务,差别的任务执行差别的功能这样,一个任务就相当于板块化设计中的一个子板块在任务中新增代码时,只要不是共享资源就不必担忧互相之间有影响,而对于共享资源(好比串口),※uCOS II也供给了大好的解决措施一般情况下施用的是信号量的要领简略地说,先创建一个信号量并对它举行初始化,当一个任务需要施用一个共享资源时,它必须先申请获得这个信号量,而一旦获患了此信号量,那就只有等施用完了该资源,信号量才会被释放, 在这个过程中,即使有优先权更高的任务进入了就绪态,因为没有办法获得此信号量,也不克不及施用该资源这个特点的好处显而易见,例如当显示屏正在显示信息的时候,外部产生了一个中断,而在中断办事程序中需要显示屏显示其他信息这样,退出中断办事程序后,原有的信息就可能被粉碎了,而在μC/OS-II中接纳信号量的要领时,只有显示屏把原有信息显示完结后才可以显示新信息,从而可以避免这个现象,不过,接纳这种要领是以牺牲体系的实时性为代价的,如果显示原有信息需要耗费大量时间,体系只好等待从结果上看,等于延伸了中断响应时间,这对于未显示信息是报警信息的情况,无疑是致命的发生这种情况,在μC/OS-II中称为优先级反转,就是高优先级任务必须等待低优先级任务的完成,在上面所说的情况下,在两个任务之间发生优先级反转是没有办法避免的,所以在施用uCOS II时,必须对所开发的体系了解清楚,才能决议对于某种共享资源是否施用信号量 uCOS 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的移植也是一件需要值得注意的工作如果没有现成的移植实例的话,就必须自己来编写移植代码,虽然只消改动两个文件,但仍需要对响应的微处理器比较熟悉才行,最好参照已有的移植实例另外,即使有移植实例,在编程前最好也要阅览一下,因为里面牵涉到堆栈操作在编写中断办事程序时,把寄放器推入堆栈的顺序必须与移植代码中的顺序相对于应 4.和其他一些著名的嵌入式操作体系差别,uCOS II在单片有机体系中的启动过程比较简略,不像有些操作体系那样,需要把内核编译成一个映像文件写入ROM中,上电复位后,再从ROM中把文件加载到RAM中去,之后再运行应用程序 由以上先容可以看出,uCOS II具备不收费、施用简略、可靠性高、实时性好等长处,但也有移植困难、缺少必要的技术支持等缺点,尤其不像商用嵌入式体系那样获得广泛施用和持续的研究更新但开放性又要得开发人员可以自行裁减和新增所需的功能,在很多应用范畴发挥着独特的作用当然,是否在单片有机体系中嵌入uCOS II应视所开发的项目而定,对于一些简略的、低成本的项目来讲,就不必施用嵌 入式操作体系了
/
本文档为【ucos操作系统特点】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索