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.
I am using compiler 7.06 to compile my project. From M51 file, my xdata is 0x3E5 (997) XDATA 03E3H 0001H UNIT ?XD?TVAV XDATA 03E4H 0001H UNIT ?XD?CCUTIL 03E5H 831BH *** GAP *** while end of my link file shown my xdata is 0x3F8(1016) Program Size: data=48.6 xdata=1016 code=49087 LINK/LOCATE RUN COMPLETE. 19 WARNING(S), 0 ERROR(S) What problem can cause to this situation?
And you're absolutely sure that the line informing you about the ***GAP*** is not followed by some other line, further down the file, that describes another piece of XDATA memory? What comes after 831BH, in your project?
I had copied the whole unused RAM data, plase refer below: XDATA 03E4H 0001H UNIT ?XD?CCUTIL 03E5H 831BH *** GAP *** XDATA 8700H 0001H ABSOLUTE 8701H 00DFH *** GAP *** XDATA 87E0H 0001H ABSOLUTE XDATA 87E1H 0001H ABSOLUTE XDATA 87E2H 0001H ABSOLUTE XDATA 87E3H 0001H ABSOLUTE XDATA 87E4H 0001H ABSOLUTE 87E5H 000BH *** GAP *** XDATA 87F0H 0001H ABSOLUTE XDATA 87F1H 0001H ABSOLUTE XDATA 87F2H 0001H ABSOLUTE XDATA 87F3H 0001H ABSOLUTE XDATA 87F4H 0001H ABSOLUTE XDATA 87F5H 0001H ABSOLUTE XDATA 87F6H 0001H ABSOLUTE XDATA 87F7H 0001H ABSOLUTE XDATA 87F8H 0001H ABSOLUTE 87F9H 0003H *** GAP *** XDATA 87FCH 0001H ABSOLUTE BL51 BANKED LINKER/LOCATER V5.03 09/02/2004 19:11:11 PAGE 5 XDATA 87FDH 0001H ABSOLUTE XDATA 87FEH 0001H ABSOLUTE XDATA 87FFH 0001H ABSOLUTE * * * * * * * C O D E M E M O R Y * * * * * * *
So you've just answered your own question, haven't you? Just in case you don't quite see it yet: you have the 0x3e5 bytes you already knew about, and then another 19 bytes of XDATA which you spent in 1-byte ABSOLUTE segments. That makes for a total of 0x3e5 + 0x13 = 0x3f8 bytes, exactly the number the linker reported to you in the final line. No mismatch, thus.
Hahaha, my mind must be blocked. Thank you very much for your time, I appreciate it very much.