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

Trouble accessing IDATA

I'm evaluating C51 & uVision v2.30 and have trouble accessing IDATA RAM.

The target is an Atmel AT89C51AC2 that has 128 bytes of DATA ram, a further 128 bytes of IDATA ram and 1024 bytes of XRAM.

I've completely exhausted both the XRAM and DATA spaces. I need to be able to use the IDATA space for globals etc, but can't seem to access it? I seem to think that the linker would automatically start using IDATA RAM as DATA RAM is used up.

The linker bails with ADDRESS SPACE OVERFLOW as follows:

.
.
.
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?KBOARD
LENGTH: 0020H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
.
.
.
Target not created


The .M51 file has the link map as follows:

LINK MAP OF MODULE: FileIO (FILEIO)


TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------

* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0001H UNIT ?DT?GETCHAR
IDATA 0009H 0002H UNIT ?ID?FILEIO
000BH 0015H *** GAP ***
BIT 0020H.0 0001H.2 UNIT _BIT_GROUP_
BIT 0021H.2 0000H.3 UNIT ?BI?FILEIO
BIT 0021H.5 0000H.1 UNIT ?BI?GETCHAR
0021H.6 0000H.2 *** GAP ***
DATA 0022H 0027H UNIT _DATA_GROUP_
DATA 0049H 0024H UNIT ?DT?FILEIO
IDATA 006DH 0001H UNIT ?STACK

* * * * * * * X D A T A M E M O R Y * * * * * * *
XDATA 0000H 0400H UNIT ?XD?FILEIO
BL51 BANKED LINKER/LOCATER V5.00


The Target Options dialog has 2 tabbed dialogs with the following Linker
Control String:

TO "FileIO"
RAMSIZE(256)


If I try to type cast some variables with an IDATA prefix, they seem to end up
in the DATA space of the link map!

Any assistance would be greatly appreciated.

Regards,
Murray R.Van Luyn

0