首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   微型抢占式多任务实时内核设计      ★★★ 【字体: 】  
微型抢占式多任务实时内核设计
收集整理:佚名    来源:本站整理  时间:2009-01-11 00:02:12   点击数:[]    

icroStar中,对os_nLayers加1即可锁定调度器,减1即可解锁。但直接利用解锁调度器来离开关键代码段并不合适。如果在关键代码段执行中,发生了中断,使更高优先级任务就绪。但由于调度器被锁定,中断程序退出时不能进行任务切换以使高优先级任务执行。因此我们希望,最好一旦调度器解锁,马上就切换到高优先级任务。为此,专门用变量os_flag的最低位作为标志位,中断程序中调用任何可以使任务就绪的系统函数都会影响到该标志位,如os_PostMessage、os_SetEvent,os_Notity。退出关键代码段时以此来判断是否需要进行任务调度。离开临界代码段时的代码如下:

if( (os_flag&0x01) && (!(--s_nLayers ) ) ) {--os_Schedule( ); }

5.2 内核同步对象

如果要保护执行时间较长的代码,就要使用内核同步对象来同步。常用的内核同步对象有事件(event)、信标(semaphore,亦称信号量)和互斥量(mutex)。 事件对象用来通知事件或者操作已经完成,它用一个布尔值来表示该事件处于通知还是未通知状态。信标对象用于对资源进行计数。它记录了当前可用的资源数目。当用1来初始化信标对象的可用资源数目时,信标对象实际上成为了互斥对象。MicroStar提供事件和信标两种同步对象,支持查询、限时等待或无限时等待操作。内核同步对象的结构如下:

typedef struct{

uint_16 waiter; /*等待列表*/

uchar num;  /*可用资源数目或者事件状态*/

uchar type; /*同步对象类型*/

}OBJECT,*POBJECT,*HOBJECT,*HEVENT,*HSEMAPHORE;

当一个任务因等待同步对象而进入休眠态时,它的静态优先级按位存放在waiter域中。如果静态优先级为N的任务在等待某个同步对象,则waiter二进制数中第N位置1,以示等待。当type为EVENT_OBJECT时,表示事件对象,此时num为事件状态,1表示通知态,0表示未通知态;为SEMAPHORE_OBJECT时,表示信标对象,对应的num为可用资源数。

内核同步对象不是嵌入式多任务系统特有的,通用的多任务操作系统如Windows都提供齐全的同步函数,在此不作介绍。

6 运用和使用示例

在MicroStar中,各个功能模块是分开的,因而可裁减度高。移植MicroStar也比较容易,只需改写与硬件相关的任务创建和调度函数。MicroStar1.0的PC机完全版本的代码约为10KB,针对96单片机用汇编语言写成的版本为1.4KB。本文附带的演示示例,都在TC2.0下编译通过,可直接在PC机上运行。第一个示例启动了三个用户任务:① WatchTask任务在屏幕中央显示一个以10ms为计时单位的跑表。② KeyTask 任务每隔200ms读一次键盘,按“Q”键系统退出执行。③ MicroStar 任务显示MicroStar相关信息,每隔1.5s更新一帧。

演示程序及内核源码见本刊网站(www.dpj.com.com)。

结 语

本文提出了基于事件的优先级这一观念,使任务优先级的安排更为合理。介绍了微型多任务实时内核——MicroStar的设计与实现。消息和信号两种通信方式的提供,使其对事件驱动编程有很好的支持。较为完善的定时器服务和齐全的任务同步函数库,给用户提供了更多、更灵活的选择。有限的功能,使其与其它实时操作系统相比,减小了从技术掌握上所花费的时间。加上较低的存储器消耗,总体上说,MicroStar是比较适合在中低端MCU平台上运行的。



上一页  [1] [2] [3] [4] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:中间件思想在嵌入式GIS设计中的应用

  • 下一篇文章:QNX环境下多线程编程
  • 返回上一页】【打 印】【关闭窗口
    中查找“微型抢占式多任务实时内核设计”更多相关内容 5VAR论文频道
    中查找“微型抢占式多任务实时内核设计”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››微型抢占式多任务实时内核设计
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .