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

ADDRESS SPACE OVERFLOW 4.5K out of 8K Total Memory, AT89S52

I am getting this message when compiling

*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA
    SEGMENT: _DATA_GROUP_
    LENGTH:  00001CH
Program Size: data=112.1 xdata=0 const=0 code=4492
Target not created


while i have 8192 bytes of On-Chip Memory,
below size of 4096 bytes ,there is no problem
and i have selected AT89x52.h header file.
Memory Model: Small
Code Rom Size: Compact
So what is the problem??

Parents Reply Children
  • Thanks to Drew and Neil!
    But i have to use floating point with necessity.

  • But i have to use floating point with necessity.

    You need to reconsider this point. There are very few cases that require floating point operations, and most of these will require something significantly more powerful than an '51.

    What requires floating point that cannot be done with fixed point ?

  • "You can write your own custom function. It will be smaller than the do it all printf()"

    Of course, if you tried to do your own complete implementation of printf, it is extremely unlikely that you would come up with anything smaller!

    Just take a look at the specification for printf: the specification alone usually runs to several pages - so, if you think about what it must take to implement all of that, you should not be surprised to find that printf is BIG!

    Similarly, you should not be surprised that printf requires a certain amount of memory space for its own internal workings...

    By writing your own version that implements only a small subset of the full printf's functionality, you should be able to make a considerable saving...

  • dear, i m facing similar problem as mention above, me too using 89c52 which have 8k rom , and compiler dont compile when it cross 4k rom, how we can use remianing rom in keil.

  • dear, i m facing similar problem as mention above, me too using 89c52 which have 8k rom , and compiler dont compile when it cross 4k rom, how we can use remianing rom in keil.<p>

    Please start your own thread with a new question. Don't dig up ages-old threads to continue them with a vaguely-related question (that has a different answer).

    To your original question: Are you sure that you are using the full version of uVision, and not one that is limited in code size ? Limited versions of uVision come with many development kits.

  • "Please start your own thread with a new question. Don't dig up ages-old threads to continue them with a vaguely-related question (that has a different answer)."

    And, if you think that an old thread may be related to your new question, then simply place a Link to it in your new thread!

  • ok, i will start a new thread.
    secondly, i am using full version.