单片机实时多任务操作系统分析
[摘要]简要介绍美国keil公司开发的应用于s51系列单片机的实时多任务操作系统rtx51的根本情况和使用方法;分析这个内核的任务管理和内存管理的运行机制及其对硬件的要求,给出其在软件设计中应注意的问题。单片机实时多任务操作系统分析
[摘要]简要介绍美国keil公司开发的应用于s51系列单片机的实时多任务操作系统rtx51的根本情况和使用方法;分析这个内核的任务管理和内存管理的运行机制及其对硬件的要求,给出其在软件设计中应注意的问题。
[关键词]单片机51rtx51
一、概述
一般说来,单片机的应用系统中都需要同时执行很多任务,我们可以利用实时操作系统来灵敏地安排系统资源。rtx51是美国keil公司开发的一种小型的面向s51系列单片机的实时多任务操作系统,它可以工作于8051单片机以及派生家族中,简化了复杂的软件设计,缩短了工程周期。
二、rtx51介绍
rtx51有2个形式:rtx51完全形式和最小形式。rtx51最小形式版是rtx51完全版的一个子集,可以很容易地运行在8051系统上,而不需要外部ra〔dxata〕。rtx51完全形式有4个任务优先级,可以和中断函数并行处理,各个任务之间通过使用“邮箱〞系统来进展信号和消息的传递,可以动态地申请和释放内存;同时,可以强迫一个任务停顿执行,等待一个中断,或者是其它中断传来的信号量或者消息。
〔一〕rtx51任务
rtx51包括2类任务:快速任务和标准任务。快速任务有很快的响应速度,每个快速任务使用8051一个单独的存放器组,并且有自己的堆栈区域。rtx51支持最大同时有3个快速任务。标准任务需要多一点的时间来进展任务切换,因此使用的内部ra相对快速任务要少,所有的标准任务共用1个存放器组和堆栈。当任务切换的时候,当前任务的存放器状态和堆栈内容转移到外部存储器中。rtx51支持最大16个标准任务。
〔二〕rtx51任务状态
〔1〕运行〔runnign〕当前正在运行的任务处于running状态,同一时间只有1个任务可以运行。〔2〕就绪〔ready〕等待运行的任务处于ready状态,在当前运行的任务退出运行状态后,就绪队列中优先级最高的任务进入到运行状态。
〔3〕阻塞〔blked〕等待一个事件的任务处于blked状态,假如事件发生且优先级比正在运行的任务高,此任务进入运行状态;假如优先级比正在运行的任务低,此任务进入ready状态。〔4〕删除〔deleted〕没有开场的任务处于删除状态。
〔三〕rtx51中断处理
rtx51完全形式提供2种方法来处理中断:一种是51的中断函数,另一种是rtx51的中断。它又可以分为快速任务中断和标准任务中断。对于中断函数这种方法,它同时也可以在不使用rtx51的情况下使用,当中断发生的时候,程序就跳到了相应的中断函数,它和正在运行的任务是互相独立的,中断的处理是在rtx51系统之外,和任务切换规那么没有关联。对于任务中断的方法,不管使用快速是标准任务来处理中断,假如中断发生,等待中断的任务就从“等待〞状态进入到就绪状态,并按照任务切换规那么进展切换。
〔四〕任务调度rtx51
包含一个事件驱动的任务调度机制,它可以按照任务的优先级进展切换,也就是
单片机实时多任务操作系统分析 来自淘豆网www.taodocs.com转载请标明出处.