单片机实时多任务操作系统分析 [摘要 ]简要介绍美国 Keil 公司开发的应用于 MCS51 系列单片机的实时多任务操作系统 RTX51 的基本情况和使用方法;分析这个内核的任务管理和内存管理的运行机制及其对硬件的要求,给出其在软件设计中应注意的问题
[关键词]单片机 C51 RTX51 一、概述 一般说来,单片机的应用系统中都需要同时执行很多任务,我们可以利用实时操作系统来灵活地安排系统资源
RTX51 是美国 Keil 公司开发的一种小型的面对MCS51 系列单片机的实时多任务操作系统,它可以工作于 8051 单片机以及派生家族中,简化了复杂的软件设计,缩短了项目周期
二、RTX51 介绍 RTX51 有 2 个模式:RTX51 完全模式和最小模式
RTX51 最小模式版是 RTX51 完全版的一个子集,可以很容易地运行在 8051系统上,而不需要外部 RAM
RTX51 完全模式有 4 个任务优先级,可以和中断函数并行处理,各个任务之间通过使用“邮箱”系统来进行信号和消息的传递,可以动态地申请和释放内存;同时,可以强制一个任务停止执行,等待一个中断,或者是其它中断传来的信号量或者消息
RTX51 任务 RTX51 包括 2 类任务:快速任务和标准任务
快速任务有很快的响应速度,每个快速任务使用 8051 一个单独的寄存器组,并且有自己的堆栈区域
RTX51 支持最大同时有 3 个快速任务
标准任务需要多一点的时间来进行任务切换,因此使用的内部RAM 相对快速任务要少,所有的标准任务共用 1 个寄存器组和堆栈
当任务切换的时候,当前任务的寄存器状态和堆栈内容转移到外部存储器中
RTX51 支持最大 16 个标准任务
RTX51 任务状态 运行当前正在运行的任务处于 RUNNING状态,同一时间只有 1 个任务可以运行
就绪等待运行的任务处于 READY 状态,在