当前位置:首页 > 嵌入式 > 嵌入式硬件

文章作者:刘明路 王亮生 李世煜
文章出处:单片机与嵌入式系统应用
------------------------------------
摘要:随着单片机应用的日益广泛,对它的软件开发效率要求越来越高,从汇编到C语言,然后过渡到了操作系统。MCS51作为单片机世界的长生不衰的主力军,应用于其上的RTX51得到了很大的发展,它硬件要求低,使用方便、灵活、因此越来越广泛地应用到单片机的软件开发之中。  关键词:单片机 C51 RTX511 概述  很多单片机的应用中都需要同时执行很多任务,对于这样的应用,我们可以利用实时操作系统来灵活地安排系统资源。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所示。

RTX51事件  ◇超时(timeout):挂起运行的任务指定数量的时间周期。  ◇间隔(interval):类似于超时,但是软件定时器没有复位,典型应用是产生时钟。  ◇信号(signal):用于任务内部同步协调。  ◇消息(message):适用于RTX51 Full,用于信息的交换。我们可以把一个消息交送到一个特定的邮箱。消息由2字节组成,可以是用户按照自己的需求定主的数据,也可以是指向数据的指针。如果邮箱的消息列表满,而且是中断发送消息,这个消息将会丢失;如果是任务发送消息,那么任务将会进入到等待状态,直到邮箱重新有了位置可以接收这一条消息。邮箱是按照FIFO的原则来管理消息的,如果几个任务都在等待接收消息,那么最先进入等待接收队列的将接收消息。一个邮箱最多可以存储8条消息。当邮箱满的时候,最多只能有16个等待任务。  ◇中断(interrup):适用于RTX51 Full,信号量用于管理共享的系统资源。通过使用“令牌”,允许在同一时刻只有一个任务使用某些资源。如果几个任务申请访问同一个资源,那么首先提出申请的将允许访问,其它的任务进入等待队列,直到第1个任务操作完毕,下一个任务才能继续。  Os_wait()函数挂起一个任务来等待一个事件的发生。这样可以同步2个或几个任务。它的工作过程如下:当任务等待的事件没有发生的时候,系统挂起这个任务;当事件发生时,系统根据任务切换规则切换任务。  2.3 RTX51中断处理  R

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

上海2024年4月22日 /美通社/ -- 恶性的攻击和意外事件总是防不胜防,提前部署灾备方案可以在遭遇意外时尽可能减少企业损失。那么面对无处不在的勒索病毒和潜在风险,为什么依然有很多企业还会遭遇数据丢失?

关键字: 勒索病毒 软件 电脑 群晖数据

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

德国埃朗根2024年4月16日 /美通社/ -- Elektrobit 今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成现代微控制器新一代硬件加速器的软件产品,可应用于先进的汽车电子/电气架...

关键字: 汽车 软件 硬件加速 通信网络

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU
关闭
关闭