We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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..