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

Reply
  • "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...

Children