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

off chip xdtata memory settings

hi,

i have a machine with 12mb of flash...however when i compile my program in keil i get the following error ...my code is loaded into flash...however how do i tell the keil linker about this n ask it to stop giving me address space overflow errors..do i have to specify the off chip xdata ram and off chip code in particular...right now its in default

below is the error log...

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?BILLPROCESSCOMMERCIALUTOD?FILEDOWNLOAD
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?BILLPROCESSINDUSTRYUTOD?FILEDOWNLOAD
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?CALCULATEED?FILEDOWNLOAD LENGTH: 427EH
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?CALCULATEED?FILEDOWNLOAD LENGTH: 427EH
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?CALCULATEMETERRENT?FILEDOWNLOAD LENGTH: 3818H
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?CALCULATEMETERRENT?FILEDOWNLOAD LENGTH: 3818H
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?CO?FILEDOWNLOAD LENGTH: 2DA9H
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?CO?FILEDOWNLOAD LENGTH: 2DA9H
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?CALCULATEREB?FILEDOWNLOAD LENGTH: 200CH
*** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: CODE SEGMENT: ?PR?CALCULATEREB?FILEDOWNLOAD LENGTH: 200CH

  • This is not a "Non-Specific (Generic)" question - it is very specific to the particular chip & tools that you are using.

    Therefore, you need to state what particular chip & tools you are using before anyone can give any meaningful answers!

    "how do i tell the keil linker..."

    The specific Linker Manual documents the available options for that Linker;
    The uVision Manual tells you how to set these options via the GUI.

    http://www.keil.com/support/man/

  • First off, you talk about external xdata in the subject line. But the linker errors is about code space, not xdata.

    Next - make sure you do not have uncalled functions. The linker wants to see where all functions are called from, to be able to build call trees. If it can't build a call tree, then it will not be able to let a function share RAM for parameters and local variables with other functions, and that can result in overflows of the RAM.

    I don't work with the C51 compiler, but don't you think that the failure to see how you are using this segment will affect the linkers ability to create overlays?

  • tool is keil uVision2

    chip is 8032 generic
    have 12mb flash memory..which i use for loading my program....written sectorwise...hence i use banking to create banked hex files..