欢迎来到天天文库
浏览记录
ID:33297186
大小:165.77 KB
页数:4页
时间:2019-02-23
《基于μcos-ⅱ的软定时器算法的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、CN43-1258/TP计算机工程与科学2006年第28卷第12期ISSN1007-130XCOMPUTERENGINEERING&SCIENCEVol.289No.1292006文章编号!1007-130X(2006)012-0077-03基于的软定时器算法的研究与实现卜COS-IIResearchandImplementationofaSoftTimerbasedon卜COS-II文远保"黄志葵WENyuan-bao"HUANGzhi-kui#华中科技大学计算机科学与技术学院"湖北武汉430074$#schoolofComPuterscien
2、ceandtechnology"HuazhongUniversityofscienceandtechnology"Wuhan430074"China$摘要!在嵌入式系统应用领域!软件代码日益复杂!但存储器"定时器等硬件资源相对有限#本文设计了一种在硬件资源紧张的情况下提供软定时器的算法#该算法不需要引入操作系统的支持!可以向多任务系统提供足够多的定时服务!并且不影响中断处理时间#Abstract:Codeisbecomingmoreandmorecomplexintheapplicationfieldofembeddedsystems.Someh
3、ardwarere-sourcessuchasmemoryandtimerarelimited.Thispaperaimstostudyandimplementanalgorithmofsofttimer.Theal-gorithmsupportsmultiplesofttimersanddoesnotaffectthetimetoprocessinterruptsunderthelimitedhardwareandthesupportingcircumstancewithouttheoperatingsystem.关键词!卜COS-II$软定时
4、器$任务调度$定时精度$嵌入式系统$存储器资源$操作系统$软定时器资源Keywords:卜COS-II9softtimer9taskscheduler9timerprecision9embeddedsystem9memoryresource9operatingsystem9softtimerresource中图分类号!TP302文献标识码!A1引言2软定时器结构在嵌入式系统应用领域9由于成本等因素的限制9存储2.1软定时器的定义器资源通常比较紧张G在存储器资源受限的情况下9引入软定时器是一组定时器实体的集合9通过链表进行管嵌入式操作系统环境进行软
5、件开发是不现实的G直接对功理G软定时器链表是基于硬件定时器中断支持的9它是一能需求较多的应用进行任务规划并对软件模块化会比基于种针对多任务所需要的不同定时服务进行统一管理的链表操作系统更加复杂G而且9软件模块化的趋势使得各模块类型数据结构[2]G任务之间存在复杂的相互触发关系9这需要类似于操作系软件定时器链表的结构如图1所示G统中采用的多任务调度算法的支持G这些需求的实现9依赖于足够的定时器资源G本文设计了一种能够提供足够多软定时器资源的算法G该算法保留了源码公开的卜COS-II实时操作系统任务图1软定时器链表调度的基本思想9精简任务调度的代码
6、9大大减小了软件所软定时器链表中的每个软定时器节点都是动态生成需要的代码空间和数据空间[1]G在不需要操作系统支持的的G系统在使用定时器之前必须先为定时器开辟一定大小情况下9软定时器可以给多任务的系统提供足够的定时服的堆栈空间9以便系统能够动态地给新的定时器分配内存务9而且不影响中断处理时间G空间[3]G在确定堆空间大小之前9要先评估系统在极端情收稿日期!2005-09-289修订日期!2005-10-17作者简介!文远保(1945)9男9湖北松滋人9教授9研究方向为计算机系统结构计算机网络和多媒体计算机技术9黄志葵9硕士生9研究方向为嵌入式系
7、统和ASIC技术G通讯地址!430074湖北省武汉市华中科技大学计算机科学与技术学院9Tel:(027)875439859E-mail:wenyi@public.wh.hb.cnAddress:SchoolofComputerScienceandTechnology9HuazhongUniversityofScienceandTechnology9Wuhan9Hubei4300749P.R.China77况下需要的定时器个数堆栈空间的大小计算如下C指针成员fFunction指向的函数9如果cPrio不为2559不HEAPSIZEdSnamic=N
8、max%tIMERSIZEone+SYStEMHEAPother调用该函数9而是使与cPrio优先级对应的任务就绪这里9HEAPSIZE
此文档下载收益归作者所有