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....
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.
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.