12.5 RTX-51 Tiny的系统配置

在RTX-51实时多任务操作系统中,其系统定时器间隔以及TIMEOUT值等都可以重新配置。RTX-51 Tiny的参数配置文件为CONF_TNY.A51。在一般情况下,RTX-51 Tiny系统按照默认的参数设置来运行。如果需要,则可以修改其中的参数来满足性能的要求。

12.5.1 RTX-51 Tiny系统配置文件

这里以RTX-51 Tiny为例介绍实时多任务操作系统的配置文件。RTX-51 Tiny系统的配置文件CONF_TNY.A51分为两部分,前半部分主要是RTX-51 Tiny的系统参数配置,用户可以根据需要更改;后半部分则不需要更改。这里给出RTX-51 Tiny的参数配置部分代码,并配合中文注释以便于读者理解。


$NOMOD51 DEBUG

;——————————————————————————————————————

;本文件是RTX-51 Tiny实时多任务操作系统的一部分

;——————————————————————————————————————

;CONF_TNY.A51:这段代码可以用于对RTX-51 Tiny系统的参数进行配置

;将该文件复制到用户的工程文件夹下,然后添加到项目中便可以进行参数配置

;如果使用命令行工具,则需要用以下命令来编译本文件:

;Ax51 CONF_TNY.A51

;如果使用命令行工具,则需要使用如下的命令连接修改过的CONF_TNY.OBJ文件到项目中:

;Lx51<your object file list>,CONF_TNY.OBJ<controls>

;——————————————————————————————————————

;RTX-51 TINY系统的硬件定时器

;==========================

;用下面的EQU语句初始化RTX-51 Tiny实时操作系统后

;硬件定时器便被定义RTX-51 TINY实时操作系统使用8051的定时器0来控制软件定时器

;定义RTX-51 Tiny定时器中断所使用的寄存器组

INT_REGBANK EQU 1;默认为使用寄存器组1

;采用8051的机器周期来定义硬件定时器溢出

INT_CLOCK EQU 10000;默认为使用10000个机器周期

;使用硬件定时器脉冲来定义循环切换时间数

TIMESHARING EQU 5;默认为使用5个硬件定时器脉冲

;如果设置为0,将禁止循环任务切换

;用户中断线程:如果应用程序包含用户中断程序则设置为1

;这样会比硬件定时器消耗更多的间隔时间

LONG_USR_INTR EQU 0;设置为0,则用户中断执行速度快

;设置为1,则用户中断执行时间长

;——————————————————————————————————————

;8051硬件定时器中断的用户代码

;===========================================

;下面的宏定义了在硬件定时器中断时执行的代码

;定义在硬件定时器中断时执行的指令

HW_TIMER_CODE MACRO

;默认为空的宏

RETI

ENDM

;——————————————————————————————————————

;RTX-51 Tiny代码限制支持

;====================

;下面的EQU语句控制RTX-51 Tiny的代码限制

;使能或禁止代码限制

CODE_BANKING EQU 0;默认0表示没有代码限制

;设置为1表示使用代码限制

;——————————————————————————————————————

;RTX-51 TINY的堆栈空间

;=======================

;用下面的EQU语句来定义堆栈区域所使用的内部RAM的大小

;以及堆栈区的最小空余空间

;用一个宏定义了当CPU堆栈空间用尽的时候所执行的代码

;定义堆栈空间的最高RAM地址

RAMTOP EQU 0FFH;默认地址为(256-1)字节

FREE_STACK EQU 20;默认堆栈的空余空间为20字节

;0表示禁用堆栈检查

STACK_ERROR MACRO

CLR EA;禁用中断

SJMP$;当堆栈空间耗尽时将无限循环

ENDM

;——————————————————————————————————————

;8051 CPU空闲代码

;==================

;8051单片机支持空闲模式来减少功率消耗以及EMC

;下面的宏则定义了当系统没有任务执行时所运行的代码

;这段代码将CPU设置为空闲模式,从而停止指令执行直到硬件中断发生

;禁止或使能CPU空闲模式

CPU_IDLE_CODE EQU 0;0表示CPU空闲模式禁用

;1表示CPU空闲模式启用

PCON DATA 087H;51单片机功率控制寄存器PCON

;停止CPU执行直到硬件中断

CPU_IDLE MACRO

ORL PCON,#1;设置8051 CPU为空闲状态

ENDM


在CONF_TNY.A51配置文件中,用户可以进行配置的系统参数有如下几个。

❑系统时钟中断寄存器组。

❑系统定时器间隔。

❑用于循环切换的TIMEOUT值。

❑系统内部数据存储器的大小。

❑系统启动后自由堆栈的大小。