memory mapping Code space:(Flash memory 64kb) fs3 16kb C000~FFFF fs2 16kb 8000~BFFF fs1 16Kb 4000~7FFF fs0 16kb 0000~3fFF Data space: nothing 2K SRAM 6000~67FF nothing SFR SRAM 0000~00FF ******************************************************* Memory Model:Small:Variables in DATA Off-chip Xdata memory: Ram Start:0x6000 Ram Size:0x2000 I am compiling and having no question original program. The following information appears... Program Size: data=202.0 xdata=256 code=42745 LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) ******************************************************* Memory Model:Large:Variables in XDATA Off-chip Xdata memory: Ram Start:0x2000 Ram Size:0x2000 USB DEMO CODE compiling The following information appears... Program Size: data=22.0 xdata=899 code=5301 LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) ******************************************************* Memory Model:Small:Variables in DATA Off-chip Xdata memory: Ram Start:0x6000 Ram Size:0x2000 Join the part of USB DEMO CODE.When compiling. The following information appears... MAIN.C(1351): error C249: 'DATA': SEGMENT TOO LARGE Target not created ******************************************************* Change the small:variables in DATA into the Large:variables in XDATA. While compiling again. The following information will appear.... *** ERROR L102: EXTERNAL ATTRIBUTE MISMATCH SYMBOL: DDS_DATA_TEMP MODULE: tranCode.obj (TRANCODE) *** ERROR L102: EXTERNAL ATTRIBUTE MISMATCH SYMBOL: DDS_DATA MODULE: DDS_value.obj (DDS_value) *** ERROR L102: EXTERNAL ATTRIBUTE MISMATCH SYMBOL: LATCH_COUNTERvalue MODULE: Counter.obj (COUNTER) *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?ONUSBSUSPEND?MAIN *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?MAIN1?MAIN *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_TRANSMITDATAEPX?UPSD_USB *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: TIMEINT2 MODULE: initial.obj (INITIAL) *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: SAVEANDRECALL MODULE: initial.obj (INITIAL) *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL BL51 BANKED LINKER/LOCATER V5.12 09/07/2005 11:41:29 PAGE 161 SYMBOL: TIMEINT2 MODULE: initial.obj (INITIAL) ADDRESS: 848AH . . . . . *** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL SYMBOL: LATCH_COUNTERvalue MODULE: Counter.obj (COUNTER) ADDRESS: B612H *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: CUSCL_value MODULE: upsd_usb.obj (UPSD_USB) *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: CUSCL_value MODULE: upsd_usb.obj (UPSD_USB) ADDRESS: B8E3H Program Size: data=174.0 xdata=613 code=47389 LINK/LOCATE RUN COMPLETE. 11 WARNING(S), 131 ERROR(S) ******************************************************* Do not want to destroy it under the original structure. How to solve?? How should "'DATA': SEGMENT TOO LARGE", this problem , be solved ? Use the range and capacity of XDATA . Operation mode . Help to answer it. THX!