外文翻译--RTX-51实时操作系统.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
外文翻译--RTX-51实时操作系统.doc

中文4460字 毕业设计(论文)外文资料翻译 嵌入式实时操作系统RTX-51的研究 学 生 姓 名: 班 级: 电自047 学 号: 指 导 教 师: 所 在 单 位: 答 辩 日 期: 2008年 6月 23日 附件1:外文资料翻译译文 RTX-51 实时操作系统 RTX51是一个适用于8051 家族的实时多任务操作系统。RTX51使复杂的系统和软件设计以及有时间限制的工程开发变得简单。RTX51是一个强大的工具,它可以在单个CPU上管理几个作业(任务)。 RTX51有两种不同的版本: RTX51 Full 允许4个优先权任务的循环和切换,并且还能并行的利用中断功能。RTX51支持信号传递,以及与系统邮箱和信号量进行消息传递。RTX51的os_wait 函数可以等待以下事件:中断、时间到、来自任务或中断的信号、来自任务或中断的消息、信号量。 RTX51 Tiny 是RTX51 Full 的一个子集。RTX51 Tiny 可以很容易的运行在没有扩展外部存储器的单片机系统上。但是,使用RTX51 Tiny 的程序可以访问外部存储器。RTX51 Tiny允许循环任务切换,并且支持信号传递,还能并行的利用中断功能。RTX51 Tiny 的os_wait函数可以等待以下事件:时间到、时间间隔、来自任务或者中断的信号。 以后的部分用RTX-51 来指代RTX-51 Full 和RTX-51 Tiny。在两者之间不同的地方会加以说明。 导 言 许多微处理器应用都需要同时执行多个作业或者任务。对于这种应用,一个实时的操作系统(RTOS)允许系统资源(CPU、内存等)被灵活的分配给几个任务。RTX-51是一个强大的实时操作系统,并且易于应用。RTX-51 可以工作在8051系列的微处理器上。 你使用标准C语言编写RTX-51应用程序,并且用C51来编译它们。为了具体指明任务的标志和优先级,会与标准C存在一点差别。RTX-51应用程序要求你将RTX51.H或者RTX51TNY.H头文件包含进来。当你在μVision2集成环境里打开目标选项对话框,选择目标操作系统以后,链接器便会添加合适的RTX-51库文件。 单任务程序 一个标准C程序从主函数开始执行。在嵌入式应用里,主函数经常被编写为一个无穷循环,也可以被认为是一个连续执行的单个任务。例如: 循环任务切换 RTX51 Tiny 允许“准并行”的同时执行几个任务。每一个任务在预先定义好的时间片内得以执行。时间到使正在执行的任务挂起,并使另一个任务开始执行。下面的例子使用了循环任务切换的技术。 使用RTX51的C程序例子 RTX51 从任务0(分配给作业0)开始执行程序。os_create_task 函数标记任务1(分配给作业1)为准备执行。这两个任务是简单的计数循环。在一个时间片结束后,RTX51 中断作业0,并且开始执行作业1。作业1 在一个时间片结束后,系统重新开始执行作业0。 os_wait 函数 os_wait 函数提供了一种更为有效的方式来给几个任务分配可使用的处理器时间。os_wait函数中断当前正在运行的任务,并且等待特定的事件。在一个任务等待事件的时间里,其他任务可以被执行。 等待时间到 RTX51使用8051 的一个定时器来产生一个循环的中断(时钟周期)。响应os_wait 的最简单事件是时间到,当前正在执行的任务被指定的时钟周期所中断。下面的延时例子使用的是时间到。 使用os_wait 函数编程 这个程序与上一个程序相似,不同的是作业0 是在计数器0 完成计数后os_wait函数所中断的。RTX51等待3 个时钟周期直到作业0 准备好再次运行为止。在这期间,作业1得以执行。作业1 也调用了os_wait 函数,等待5 个时钟周期。结果是:定时器0 每三个时钟周期增加一次,计数器1则每5个时钟周期增加一次。 等待信号 os_wait 函数的另一个事件是信号。信号被用来协调任务。直到另一个任务发出信号,在os_wait 函数控制下的任务才结束等待状态。如果信号预先就被发送出来,那么任务将立即继续执行。 使用等待信号的程序 在这个例子当中,任务1等待着由任务0发出的信号,并且以此来处理计数器0产生的溢出。 抢先任务切换 RTX51 Full 提供了抢先的任务切换,RTX51 Tiny 不具备这个功能。为了对多任务的概念有一个完整的了解,在这里对抢先任务切换加以解释。 在上一个例子中,任务1收到一个信号后不会立即开始,只有当任务0 发生了时间到事件后,任务1才会启动。如果任务1被赋予了比任务0 高的优先级,通过抢先任务切换,如果任务1收到了信号,就会立即开始。优先级在任务定

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档