www.pudn.com > KeilC51v750a_Full.rar > CONF_TNY.A51
$DEBUGPUBLICS ;------------------------------------------------------------------------------ ; This file is part of the 'RTX-51 tiny' Real-Time Operating System Package ; Copyright KEIL ELEKTRONIK GmbH 1991 ;------------------------------------------------------------------------------ ; CONF_TNY.A51: This code allows the configuration of the ; 'RTX-51 tiny' Real-Time Operating System ; ; To translate this file use A51 with the following invocation: ; ; A51 CONF_TNY.A51 ; ; To link the modified CONF_TNY.OBJ file to your application use the following ; BL51 invocation: ; ; BL51, CONF_TNY.OBJ ; ;------------------------------------------------------------------------------ ; ; 'RTX-51 tiny' Hardware-Timer ; ============================ ; ; With the following EQU statements the initialization of the 'RTX-51 tiny' ; Hardware-Timer can be defined ('RTX-51 tiny' uses the 8051 Timer 0 for ; controlling RTX-51 software timers). ; ; ; define the register bank used for the timer interrupt. INT_REGBANK EQU 1 ; default is Registerbank 1 ; ; ; define Hardware-Timer Overflow in 8051 machine cycles. INT_CLOCK EQU 10000 ; default is 10000 cycles ; ; ; define Round-Robin Timeout in Hardware-Timer Ticks. TIMESHARING EQU 5 ; default is 5 ticks. ; ; ; ; note: Round-Robin can be disabled by using value 0. ; ; Note: Round-Robin Task Switching can be disabled by using '0' as ; value for the TIMESHARING equate. ;------------------------------------------------------------------------------ ; ; 'RTX-51 tiny' Stack Space ; ========================= ; ; The following EQU statements defines the size of the internal RAM used ; for stack area and the minimum free space on the stack. A macro defines ; the code executed when the stack space is exhausted. ; ; ; define the highest RAM address used for CPU stack RAMTOP EQU 0FFH ; default is address (256-1) ; FREE_STACK EQU 20 ; default is 20 bytes free space on stack ; STACK_ERROR MACRO CLR EA ; disable interrupts SJMP $ ; endless loop if stack space is exhausted ENDM ; ;------------------------------------------------------------------------------ NAME ?RTX51_TINY_CONFIG PUBLIC ?RTX_REGISTERBANK, ?RTX_TIMESHARING, ?RTX_RAMTOP, ?RTX_CLOCK PUBLIC ?RTX_ROBINTIME, ?RTX_SAVEACC, ?RTX_SAVEPSW PUBLIC ?RTX_FREESTACK, ?RTX_STACKERROR, ?RTX_CURRENTTASK ?RTX_TIMESHARING EQU -TIMESHARING ?RTX_RAMTOP EQU RAMTOP ?RTX_FREESTACK EQU FREE_STACK ?RTX_CLOCK EQU -INT_CLOCK ?RTX_REGISTERBANK EQU INT_REGBANK * 8 DSEG AT ?RTX_REGISTERBANK DS 2 ; temporary space ?RTX_SAVEACC: DS 1 ?RTX_SAVEPSW: DS 1 ?RTX_ROBINTIME: DS 1 ?RTX_CURRENTTASK: DS 1 ?RTX?CODE SEGMENT CODE RSEG ?RTX?CODE ?RTX_STACKERROR: STACK_ERROR END