Hello. The question is about using the far memory. In our project we want to use Tiny2 OS 51, internal RAM of uC and external RAM. We tried 4 versions of the file XBANKING.A51 - from /Examples and from /LIB. But the linker returns error in definition of IE0: - in XBANKING.A51 it is defined as DATA 0A8H, - in CONF_TNY.A51 it is defined as BIT 89H. IE0 is in address 089H, but IEN0 is in address A8H. It is written in manual: When the EEPROM support is not required, you may use the XBANKING4XRAM.A51 file instead of the XBANKING.A51 file. This file supports just the switching between on-chip and off-chip xdata memory and is therefore useful on many 8051 variants. This file also gives errors: LOC OBJ LINE SOURCE 1 1$NOMOD51 NOLINES *** ______________________________^ *** ERROR #A1 IN 1 (XBanking4XRAM.A51, LINE 1): ILLEGAL CHARACTER IN NUMERIC CONSTANT 2 $nocond 3 ;------------------------------------------------------------------------------ 4 ; This file is part of the LX51 Extended Linker/Locater package 5 ; Copyright (c) 2000 - 2002 Keil Elektronik GmbH and Keil Software, Inc. 6 ; Version 1.04a, Variable Banking: 'far' & 'far const' C51 memory type support 7 ; Version 1.04a: added register usage description 8 ;------------------------------------------------------------------------------ 9 $nomod51 *** ERROR #A44 IN 9 (XBanking4XRAM.A51, LINE 9): MISPLACED PRIMARY CONTROL 10 ; How to solve this problem?
Replace first line 1 1$NOMOD51 NOLINES in XBanking4XRAM at $NOMOD51 NOLINES !!!