2 RTX51介绍
RTX51有2个模式:RTX51完全模式和最小模式。RTX51tiny最小模式版是RTX51完全版的一个子集,可以很容易地运行在8051系统上,而不需要外部RAM(XDATA)。RTX51完全模式有4个任务优先级,可以和中断函数并行处理,各个任务之间通过使用“邮箱”系统来进行信号和消息的传递,可以从内存池中申请和释放内存;同时,可以强制一个任务停止执行,等待一个中断,或者是其它中断传来的信号量或者消息。
RTX51对系统硬件的要求如表1所列。
表1 描述 RTX51完全模式 RTX51最小模式 任务数 最大256,19个激活任务,其中16个标准任务,3个快速任务 16 RAM 40~46字节RAM
20~200字节IDATA
最少450字节XDATA7字节DATA
3*任务数IDATA
不需要XDATA ROM 6KB~8KB 900字节 定时器 定时器0或1 定时器0
2.1 RTX51任务
RTX51任务状态:
(1)运行(RUNNING)-当前正在运行的任务处于RUNNING状态,同一时间只有1个任务可以运行。
(2)就绪(READY)-等待运行的任务处于READY状态,在当前运行的任务退出运行状态后,就绪队列中优先级最高的任务进入到运行状态。
(4)删除(DELETED)-没有开始的任务处于删除状态。
2.2 RTX51事件
*超时(timeout):挂起运行的任务指定数量的时钟周期。
*间隔(interval):类似于超时,但是软件定时器没有复位,典型应用是产生时钟。
*信号(signal):用于任务内部同步协调。
*中断(interrupt):适用于RTX51 Full,一个任务可以等待8051硬件中断。
*信号量(semaphore):适用于RTX51 Full,信号量用于管理共享的系统资源。通过使用“令牌”,允许在同一时刻只有一个任务使用某些资源。如果几个任务申请访问同一个资源,那么首先提出申请的将允许访问,其它的任务进入等待队列,直到第1个任务操作完毕,下一个任务才能继续。
2.3 RTX51中断处理
RTX51完全模式提供2种方法来处理中断:一种是C51的中断函数,另一种是RTX51的任务中断。它又可以分为快速任务中断和标准任务中断。对于中断函数这种方法,它同时也可以在不使用RTX51的情况下使用,当中断发生的时候,程序就跳到了相应的中断函数,它和正在运行的任务是相互独立的,中断的处理是在RTX51系统之外,和任务切换规则没有关联。对于任务中断的方法,不管使用快速还是标准任务来处理中断,如果中断发生,等待中断的任务就从“等待”状态进入到就绪状态,并按照任务切换规则进行切换。这种中断处理是完全 集成在RTX51的内部,硬件中断事件的处理和信号、消息的处理是完全相同的。在系统响应时间上中断函数是最快的。RTX51必须完全控制中断使能寄存器,这样才能遵守任务的切换规则并保证中断程序的无误进行。必须注意中断使能寄存器是由RTX51完全控制的,禁止用户手动修改。