Hi every body I can't overcome the warning *** WARNING L29: SEGMENT LOCATED OUTSIDE CLASS AREA SEGMENT: ?XD?DCBCMAIN?0 Thank you very much.
warning from what? linker, solitaire, compiler, freecell, assembler ? Erik
Erik, You see very well that the warning is from linker (it is L...). Once again, your irony has the only aim to insult the author of the post. Probably, you'd take a cours of manners?
No "insult" intended just a request for clarity of questions. This very same question was posted elsewhere without mentioning Keil. Erik
No, Erik, what you say is a lie. If you really had needed this information to answer the question, you would have answered it. You didn't. So the insult was your only intention.
Are you using the CLASSES control for the linker? Check your map file for the "ACTIVE MEMORY CLASSES" section. It will show you the physical addresses that your various memory classes have. The warning means that this particular segment isn't in the right physical address range for its memory class. Since the name of the segment is ?XD?*, I assume it's an XDATA segment.
CLASSES are defined for all the major groups of segments. For example, the XDATA CLASS contains all the XDATA SEGMENTS. Some CLASSES are limited in their size because of the addressing limitations of the particular device. For example, the XDATA class is limited to 64K because the size of the DPTR (which is used to access XDATA) is 16 bits. The L29 warning indicates that you have located an XDATA segment outside the range of the CLASS. Typically, the XDATA CLASS RANGE is 0x010000-0x01FFFF. Make sure that the XDATA segment specified is in that range. Jon
So the insult was your only intention. Absolutely not, I could have asked ther same question in a boooring way and you would not have reacted. I really never realized that the "L" mant linker since the error messages I get are responses to EITHER compiler, assembler OR linker. I do not run uVision. Erik