This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

C51 Tiny2 and Far Memory.

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?

Parents Reply Children
  • I tried, but still the error exists.

    The error is:
    *** WARNING L46: SFR SYMBOL HAS DIFFERENT VALUES
    SYMBOL: IE0
    MODULE: CONF_TNY.obj (?RTX51_TINY_KERNAL)
    DEFINED: the-first-file-of-my-project.obj (the-first-file-of-my-project)


    There is no definition of IE0 in any of my modules.