您的位置 首页 培训

根据RTX51 的单片机软件设计

摘要:随着单片机应用的日益广泛,对它的软件开发效率要求越来越高,从汇编到C语言,然后过渡到了操作系统。MCS51作为单片机世界的长生不衰的主力军,应用于其上的RTX51得到了很大的发展

1 概述

许多单片机的运用中都需求一起履行许多使命,关于这样的运用,咱们能够运用实时操作体系来灵敏地组织体系资源。RTX51是美国Keil公司开发的一种小型的运用于MCS51系列单片机的实时多使命操作体系,它能够作业一切8051单片机以及派生宗族中,简化了杂乱的软件规划,缩短了项目周期。咱们实践顶用RTX51来开发单片机软件。规划单片机操控的GPS接纳板软件,取得了很好的作用。

2 RTX51介绍

RTX51有2个形式:RTX51彻底形式和最小形式。RTX51最小形式版是RTX51彻底版的一个子集,能够很容易地运转在8051体系上,而不需求外部RAM(DXATA)。RTX51彻底形式有4个使命优先级,能够和中止函数并行处理,各个使命之间经过运用“邮箱”体系来进行信号和音讯的传递,能够从内存池中请求和开释内存;一起,能够强制一个使命中止履行,等候一个中止,或许是其它中止传来的信号量或许音讯。RTX51对体系硬件的要求如表1所列。

2.1 RTX51使命

RTX51区别2类使命:快速使命和规范使命。快速使命有很快的响应速度,每个快速使命运用8051一个独自的寄存器组,并且有自己的仓库区域。RTX51支撑最大一起有3个快速使命。规范使命需求多一点的时间来进行使命切换,因而运用的内部RAM相对快速使命要少,一切的规范使命共用1个寄存器组和仓库。当使命切换的时分,当时使命的寄存器状况和仓库内容转移到外部存储器中。RTX51支撑最大16个规范使命。

RTX51使命状况:

①运转(RUNNIGN)——当时正在运转的使命处于RUNNING状况,同一时间只要1个使命能够运转。

②安排妥当(READY)——等候运转的使命处于READY状况,在当时运转的使命退出运转状况后,安排妥当行列中优先级最高的使命进入到运转状况。

③堵塞(BLOCKED)——等候一个事情的使命处于BLOCKED状况,假如事情产生且优先级比正在运转的使命高,此使命进入运转状况;假如优先级比正在运转的使命低,此使命进入READY状况。

④删去(DELETED)——没有开端的使命处于删去状况。

⑤使命切换——RTX51包含一个事情驱动的使命切换机制,它能够依照使命的优先级进行切换,也便是抢占式多使命体系;其他还有一个可选的时间片轮转切换使命形式,在时间片轮转形式下,同级其他使命是依照时间片别离占用CPU的。RTX51使命有4个优先级:0、1、2能够分配给规范使命,优先级3是为快速使命保存的。每个使命都能够等候事情的产生,而并不添加体系的担负;使命能够等候音讯、信号、中止、超时事情或许它们的组合。使命切换是依照必定规矩进行的,包含:进入到“安排妥当”状况的优先级高的使命先履行;假如“安排妥当”状况的几个使命是同一个优先级,那么最早进入“安排妥当”状况的先履行。

RTX51使命切换图如图1所示。

2.2 RTX51事情

◇超时(timeout):挂起运转的使命指定数量的时间周期。

◇距离(interval):类似于超时,可是软件定时器没有复位,典型运用是产生时钟。

◇信号(signal):用于使命内部同步和谐。

◇音讯(message):适用于RTX51 Full,用于信息的交流。咱们能够把一个音讯交送到一个特定的邮箱。音讯由2字节组成,能够是用户依照自己的需求定主的数据,也能够是指向数据的指针。假如邮箱的音讯列表满,并且是中止发送音讯,这个音讯将会丢掉;假如是使命发送音讯,那么使命将会进入到等候状况,直到邮箱从头有了方位能够接纳这一条音讯。邮箱是依照FIFO的准则来办理音讯的,假如几个使命都在等候接纳音讯,那么最早进入等候接纳行列的将接纳音讯。一个邮箱最多能够存储8条音讯。当邮箱满的时分,最多只能有16个等候使命。

◇中止(interrup):适用于RTX51 Full,信号量用于办理同享的体系资源。经过运用“令牌”,答应在同一时间只要一个使命运用某些资源。假如几个使命请求拜访同一个资源,那么首要提出请求的将答应拜访,其它的使命进入等候行列,直到第1个使命操作结束,下一个使命才干持续。

Os_wait()函数挂起一个使命来等候一个事情的产生。这样能够同步2个或几个使命。它的作业进程如下:当使命等候的事情没有产生的时分,体系挂起这个使命;当事情产生时,体系依据使命切换规矩切换使命。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/254486.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部