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值。
❑系统内部数据存储器的大小。
❑系统启动后自由堆栈的大小。