基于嵌入式实时操作系统μ C_OS-Ⅱ的多任务算法研究.pdf
《基于嵌入式实时操作系统μ C_OS-Ⅱ的多任务算法研究.pdf》由会员分享,可在线阅读,更多相关《基于嵌入式实时操作系统μ C_OS-Ⅱ的多任务算法研究.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2 0 1 0 葺e 3,e j电子测试M a r 2 0 1 0第3 期E L E C T R O N I CT E s TN o 3基于嵌入式实n 慨作系统wc o s-l l V j 多任务算法研究夏梦宇,王勇(南京邮电大学南京2 1 0 0 0 3)摘要:I XC O S I I 是一个高度简洁、可固化、可裁剪、实现抢先式实时多任务的操作系统内核。而嵌入式软件系统的一个重要特征是实时响应和多任务处理。本文白先简要介绍了斗C O S-I I 及其斗C O S I I 在应用系统软件的设计中的仟务状态和任务调度。基j:集成开发环境l A P-E W A R M,提出了一种基于斗C O S-
2、I I 的多任务调度算法以实现“欢迎使用”的衡定时间交替显示的功能,着荤介绍了“C O S-I I 中多任务间的切换和调度的实现机理。斗C O S I I 作为一个精简、可靠的多任务操作系统,在中小型,I:业领域中有着广泛的虚用前景。关健词:嵌入式系统;操作系统;实时性;多任务算法中图分类号:T P 3 0 1 6 文献标识码:AS t u d yo ft h ed e v e l o p m e n to fe m b e d d e dr e a l-I。t i m em u l t i t a s k i n gB a s e do nI J LC O S I IX i aM e n g
3、 y u,W a n gY o n g(N a n j i n gU n i v e r s i t yo f P o s t sa n dT e l e c o m m u n i c a t i o n sN a m i n g2 1 0 0 0 3)A b s t r a c t:C O S I Io fT h eR e a l T i m eO Si sah i g h l yp o r t a b l e,R O M a b l e,v e r ys c a l a b l e,p r e e m p t i v er e a l t i m e,m u l t i t a s k
4、i n gk e r n e l(R T O S)T h ei m p o r t a n tc h a r a c t e ro fe m b e d d e ds o f t w a r es y s t e mi sr e a l t i m er e s p o n s ea n dm u l t i t a s k i n gp r o c e s s i n g T h ep a p e rf i r s d yi n t r o d u c e d 斗C O S I Ia n di t St a s ks t a t e t a s ks c h e d u l i n gi n
5、t h ed e s i g no fa p p l i c a t i o ns y s t e m T h u su n d e rt h ei n t e g r a t e dd e v e l o p m e n te n v i r o n m e n tI A RE W A R M,t h er e a l i z a t i o no fa l t e r n a t i n gd i s p l a yo f“W e l c o m et ou s e”i ne q u a lt i m ei sp r e s e n t e db a s e do nm u l t i t
6、 a s k i n gs c h e d u l i n ga l g o r i t h m T h ea r t i c l em a k ea ne m p h a s i so nt h ec o n v e r s i o na n ds c h e d u l i n gb e t w e e nt a s k s A sap o r t a b l e,d e p e n d a b l em u l t i t a s k i n gk e r n e l,灿C O S 1 1w i l lh a v eab r o a da p p l i e dp r o s p e c
7、 ti nm e d i u ma n ds m a l li n d u s t r i a lf i e l d K e y w o r d s:e m b e d d e ds y s t e m;o p e r a t i n gs y s t e m;r e a l。t i m e;m u l t i t a s k i n ga l g o r i t h m0 引言I X C O S 是由J e a n J L a b r o s s e 于1 9 9 2 年首先没计编写的。1 9 9 9 年,L a b r o s s e 又编写了I X C O S I I。该操作系统已被认为
8、是每个希望掌握实时操作系统的技术人员的经典学习版本。恤C O S I I 是一个完整、可移植、可固化、可裁剪的占先式实时多任务内核。I x C O S I I 用A N S IC 语言编写,包含一小电圣逊量巴 万方数据部分汇编语言代码,使之可以供不同架构的微处理器使用。斗C O S I I 可以管理6 4 个任务,具有信号量、互斥信号量、事件标志组、消息邮箱、消息队列、任务管理、时问管理和内存管理等系统功能。至今,从8 位到6 4 位,斗C O S 一1 1 已在多种架构的微处理器上运行。应用系统软件的设计(1)初始化硬件:在系统中,软件运行环境为一特定的目标机,所以在启动后对目标的C P U
9、 板、存储器板、总线接口等进行初始化操作。(2)任务状态:斗C O S I I 是以一组基本的多任务机制支持实时系统,其控制的基本单位是任务。在应用层软件的设计中,功能模块划分为一定规模的任务。斗C O S I I 控制下的任务有5 种状态。睡眠态是指任务驻留在程序空间,还没有交给“C O S I I 来管理。而任务一旦建立,这个任务就进入了就绪态。程序用O S S t a r t()启动多任务,该函数运行用户初始化代码中己经建立的、进入就绪态的优先级最高的任务,使任务进入运行态。正在运行的任务可以通过调用O S T i m e D l y()或O S T i m e D I y H M S
10、M()将自身延迟一段时间,于是此任务进入等待状态;另种情况时正在运行的任务要等待某一事件的发生,而事件并未发生,这也使任务进入等待状态。如果正在运行的任务或“C,O S-I I 没有关中断,正在运行的任务可被中断,进入中断服务态。(3)任务调度:斗C O S I I 总是运行进入就绪态任务中优先级最高的任务,这要求各个任务的优先级不能相同,优先级号越低,任务的优先级越高。在程序设计过程中,一般把重要的任务或执行时间长的任务优先级设置得较高。任务调度分为任务级屯茅则i 式的调度和中断级的调度。前者是通过O S S c h e d()来寻找最高优先级的任务,宏调用O S _ T A S K _ S
11、 W()完成任务切换。对于后者,由于中断是对外部和内部事件提供立即响应服务的机制,对于可剥夺型实时内核来说,中断返回函数将决定是返回到被中断的任务,还是让优先级最高的任务运行,后一种情况下,内核要做任务切换,恢复中断的时问要长一些。斗C O S I I 需提供周期性信号源,时钟节拍是特定的周期性中断,它使得内核可以将任务延时若千个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。2uC O S l i T 作原理C O S-I I 是一个源码公开的实时多任务操作系统,其工作流程如图l 所示。图中,任务切换的核心是利用出栈指令将各个任务的工作现场再现,并利用子程序返回指令改变P c 指
12、针以完成任务的切换。逦I9亨对任务堆栈区进行根据任务创建T l初始化O S T a s k S t k i n i O+l 根据任务优先级数量创建任务启动多任务O S S t a r)就绪表及任务优先级表臣覃tt0 堑塑堡苎一)图1I JC O S I I 的-r 作原理图型 万方数据3 实例假设某仪器要在屏幕上显示流动字符“欢迎使用”,即“欢迎使用”四个字轮流显示。将每个汉字显示时间控制为2 0 个单位,并且同一时刻只显示一个汉字,相邻字符显示时间I 日j 隔相同。显示部分采用L M l 9 2 6 4 A 液晶显示模块,软件的开发环境主要由组成集成开发环境I A RE W A R M 和仿
13、真器I A RJ-L i n kJ T A G。I A RE W A R M 支持众多的A R M内核,本次试验采用的是S H A R PL H 7 9 5 2 0 微控制器。6 个任务如表l 所示(包含系统空闲任务)。表1 任务优先级表任务名优先级操作空闲任务O SL O W E S TP R l 0空操作统计任务0 SL O W E S TP R I O 一1每秒做一次统计计算C P U 利用率A p p T a s k l1 0清除“用”字,显示“欢”字保存“欢”宇A p p T a s k 21 2清除“欢”字,显示“迎”字保存“迎”字A p p T a s k 31 4清除“迎”字,
14、显示“使”字,保存“使”宇A p p T a s k 41 6清除“使”宇,显示“用”字,保存“用”字巴应片j 程序设汁:预定义仟务优先级#d e f i n eT A S KlP R l 0l O#d e f i n eT A S K2P R I O1 2#d e f i n e1 A S K3P R l 01 4#d e f i n eT A S K4P R i O1 6弋乡M a i n();E 函数弋夕O S l n i t 0;系统初始化弋夕O S T a s k C r e a t e(A p p T a s kl;T A S K-l P R I O);创建仔务l,优先级l OO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于嵌入式实时操作系统 C_OS-的多任务算法研究 基于 嵌入式 实时 操作系统 C_OS 任务 算法 研究
限制150内