- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子之家 资料版权归合法所有者所有 严禁用于商业用途
基于 MSP430F149 单片机的实时多任务操作系统
实时多任务操作系统(RTOS)能有效提高嵌入式平台的资源利用效率,是嵌入式应用的必然趋势。本文阐述了笔者写的基于
MSP430F149的一个RTOS—M430/OS,它由汇编写成,短小精干,占用系统资源少,运行稳定可靠,目前已在产品上得到应用。
关键词:RTOS、任务调度、MSP430
1 RTOS 的基本概念
实时多任务操作系统(RTOS-Real Time Operating System)是根据操作系统的工作特性而言的。实时是指物理进程的真实
时间。实时操作系统是指具有实时性,能支持实时控制系 统工作的操作系统。首要任务是调度一切可利用的资源完成实时
控制任务,重要特点是要满足对时间的限制和要求。
实时操作系统中的任务(Task)有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),休眠(Dormant)。
运行:获得CPU控制权。
就绪:进入任务等待队列。通过调度转为运行状态。
挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒。从而转为就 绪或运行。
休眠:任务完成或错误等原因被清除的任务。也可以认为是系统中不存在了的任务。
某一时刻,系统中只能有一个任务在运行状态。各任务按级别通过时间片分别获得对CPU的访问权。
RTOS内核按照任务的调度机制可以分为两种:一种是占先式内核,一种是非占先式内核。
占先式内核:当一个低优先级的任务正在运行时,一个高优先级的任务就绪,那么RTOS就会把低优先级的任务挂起,来运
行高优先级的任务。等高优先级的任务执行了一个循环挂起之后,再回到低优先级任务的断点继续运行。也就是说,任务的
优先级越高,响应起来越及时。
非占先式内核:当一个低优先级的任务在运行时,一个高优先级的任务就绪,RTOS不会把CPU切换给高优先级的任务,必
须等低优先级的任务执行了一个循环挂起之后,再由RTOS根据所有就绪任务的优先级判断将CPU切到哪个任务。
绝大多数商业RTOS, 以及著名的开放源码的uC/OS-II操作系统,都采用的是占先式内核,它的优点是实时性要比非占先式
内核高。
在RTOS中,一般情况下,每个任务都一无限循环,每循环一次,任务挂起一段时间,以供调度程序把这段时间交给优先级
更高的其它就绪任务,让其它任务运行(如图1)。当所有任务都挂起时,RTOS把任务切到空闲任务来执行。
欢迎光临中国最大的电子工程师应用网站
网址:
电子之家 资料版权归合法所有者所有 严禁用于商业用途
图1 任务执行流程图
空闲任务是一个系统任务,它一般是一个空的循环,优先级最低,也从来不会挂起。
2 在 MSP430 上使用 RTOS 的意义
一般的观点认为,MSP430上使用RTOS是没有意义的。这是可以理解的,因为MSP430 的硬件资源有限(以MSP430F149为例,
只有2KRAM),任何商业操作系统都不可能移植到MSP430上。目前在MSP430上得到应用的RTOS,只有 uC/OS-II,但使用
uC/OS-II 必须有昂贵的C编译器,这严重限制了其在MSP430上的使用。
正是基于以上情况,笔者在应用MSP430过程中,编写了一个基于MSP430F149的RTOS,暂定名为M430/OS。它占用RAM量少、
代码短小,稍加改动就可适用于大多数其它MSP430单片机。
在MSP430单片机系统上使用M430/OS,对系统有以下意义:
1) 实现软件设计的模块化。可将不同的功能模块编制成相应的任务,由操作系统按级别调用,不必为先执行哪个功能、后
执行哪个功能而费神。
2) 更能合理、有效地利用CPU有限的资源。按任务的重要程度安排任务的级别,能够保证最重要的任务执行得最及时。
3) 大大降低系统故障率。低优先级的任务发生阻塞时,高优先级的的任务的执行不受影响。
3 M430/OS 在 MSP430F149 上的实现
3.1 功能特点
M430/OS有以下特点:
文档评论(0)