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

I have a Real-time c51 program, I need a large buffer(120 bytes).Now I use the data segment space, but when I link it an error will appear: "Address space overflow, Length: 001DH".
I do not want to use xdata space like: xdata BYTE buf[120], because this type data will affect the executive speed, can I set a large data space?
Now I use the uVision/51 for windows Version 1.32.
Thanks very much!
Tom wu

  • Tom,

    If you are using a 8051 there's no more internal mem space available ( you cant change it ), but in the old simulator version you can place your buffer in the Idata segment because there's no distinction between a 51 and a 52.

    Take a look in the available segments at the Keil Software - C51 Compiler User's Guide 01.97- Explicit Declared Memory Types p. 63.

    - Alex

  • Data space is internal RAM within the chip; you can't change its size.
    How much DATA space does your particular chip have?
    Try moving everything else out from DATA.

    Could you use PDATA instead of XDATA?

  • If you are using an 8051-based part, which has 128 bytes of internal RAM, you could consider an 8052-based part, which has 256 bytes of internal RAM.

    --Dan Henry