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

xdata configuration

I am using Teridians 71M6513H controller and the memory organisation given in the data sheet is as follows,
******************************************************
EXTERNAL DATA MEMORY:
0xFFFF ____
0x4000

0x3FFF
0x3000 CE PRAM

0x2FFF ____
0x2100

0x20FF
0x2000 I/O RAM

0x1FFF ____
0x1400

0x13FF
0x1000 CE DRAM

0x0FFF ____
0x0800

0x07FF
0x0000 XRAM

"While the 80515 can address up to 64KB of external data memory in the space from 0x0000 to 0xFFFF, only the memory ranges shown above contain physical memory."
******************************************************
1.)Is the size of xdata only from 0x0000 to 0x07FF or full 64K bytes
2.)How should i configure the xdata memory in startup.a51
3.)My code still works without including startup.a51 file in the source code list.What would be the default value of xdata space without startup.a51
4.)Any docu/website giving a overview of startup.a51 configuration and memory organisation of xdata

Thanks in advance.

  • "1.)Is the size of xdata only from 0x0000 to 0x07FF or full 64K bytes"

    The text & diagram that you quoted seem to answer that question pretty clearly:

    The XDATA address space is the full 64K, but only 0x0000 to 0x07FF actually contains physical RAM.

    "4.)Any docu/website giving a overview of startup.a51 configuration and memory organisation of xdata"

    http://www.keil.com/support/man/docs/c51/c51_ap_startup.htm

  • Please let me know how generally memory storage is done in the microcontroller in the absence of startup.a51.As there is no startup.a51 in my project it is very important to know how it is stored in the memory.
    On compilation this was the result:
    Program Size: data=96.4 xdata=2566 const=6555 code=51466

    Now that xdata is only 2K but original xdata being 2566 how is it stored?
    LX51(Level 11 optimisation and Linker code packing) segragating into const and code how does it save these into memory of controller.

  • "Please let me know how generally memory storage is done in the microcontroller in the absence of startup.a51."

    Did you actually read the link I gave?

    It tells you what operations the startup code performs, and allocating memory storage is not one of them - that is done by the Linker