Discussion Forum

Address Space Overflow - But none used

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
Per Franck
Posted
12-Sep-2008 22:13 GMT
Toolset
C51
New! Address Space Overflow - But none used

I'm building a small program and i'm getting
ERROR L107: ADDRESS SPACE OVERFLOW.
SPACE: DATA
SEGMENT: _DATA_GROUP_
LENGTH: 62H

I tried following this article (http://www.keil.com/support/docs/1241.htm), but I cannot find any data used! When built, it says i'm using 125.1 bytes of data... I have no clue who's using this data, in the m51 file i get

 * * * * * * *   D A T A   M E M O R Y   * * * * * * *
REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
DATA    0008H     000EH     UNIT         ?DT?STORAGE
DATA    0016H     0003H     UNIT         ?DT?LXECU
        0019H     0007H                  *** GAP ***
BIT     0020H.0   0001H.1   UNIT         _BIT_GROUP_
        0021H.1   0000H.7                *** GAP ***
IDATA   0022H     0001H     UNIT         ?STACK


So, in the module STORAGE i'm using 14 bytes, and in the module LXECU i'm using 3 bytes. That's Fine... but where is this 98 byte block coming from that overflows? all my variables are xdata....

Read-Only
Author
Hans-Bernhard Broeker
Posted
12-Sep-2008 23:04 GMT
Toolset
C51
New! RE: Address Space Overflow - But none used

Check your *.lst files, and/or the rest of the .map file. One of the things to be aware of is that local variables going into DATA include the arguments of your functions, and any temporaries that the registers can't hold.

Read-Only
Author
Per Franck
Posted
12-Sep-2008 23:20 GMT
Toolset
C51
New! RE: Address Space Overflow - But none used

Thank you, Hans-Bernhard.

I actually had a local array that was in DATA, I simply had missed the xdata declaration.

You set me on the right track.

Thanks again.

Next Thread | Thread List | Previous Thread Start a Thread | Settings