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

Programming

Hello!!
I am trying to program a code for my project.
But, after building the code in Keil uVision4, I am getting following errors:

*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: ?DT?GEOFENCE LENGTH: 0066H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT SYMBOL: LATITUDE2 SEGMENT: ?DT?GEOFENCE
Program Size: data=111.4 xdata=0 code=505
Target not created

Can anybody help me in this problem?

Parents Reply Children
  • I am currently using the controller(89V51RD2) which has 64kb of Flash memory & 1kb of RAM.
    These are sufficient for my application "Vehicle Security using GPS & GSM".
    But, if I am right, then according to the word "overflow", it means that the controller does not have enough memory for programming.

    Since the error message is coming even after giving the device name to the compiler, I am not able to understand what exactly is getting wrong.

  • You where told what the error means. There is no code posted, so what else do you expect?
    Do you have @ qualified variables? ASM Modules ect that will cause a problem with the link?

    Note you 1K of RAM is most likley part in XData and part in Data

  • What Andrew has pointed out to you more than once is the fact that you are overflowing your data space. Look at your device user manual for data memory, idata memory, SFR memory and XRAM. Your 1K of RAM probably exist as XRAM, not data memory.

    Look at your 'Getting Started Manual' for examples for implicit and explicit memory addressing. Always use XRAM for arrays and large structs. Use the data memory for automatics or small vars that require rapid access.

    Bradford

  • Note you 1K of RAM is most likley part in XData and part in Data
    right for NXP
    Your 1K of RAM probably exist as XRAM, not data memory.
    wrong for NXP

    the many memory spaces of the '51 has led to many interpretations of how to "sell" the memory size.

    Erik

  • "the many memory spaces of the '51 has led to many interpretations of how to "sell" the memory size."

    None of them probably wrong. It's always the users task to read through the datasheets/user manuals and learn what they have, what it can do and what it can not do. Assumption is the mother of all *** ups.

  • The usual way to sell anything is to quote it so as to give the biggest number possible.

    In the case of 8051 RAM, that usually means adding up everything and quoting the sum.

    As always, and as has already been noted, it is up to the reader to take care to find out what the number actually means!