// Sample ICD2 linker command file for 16F684

LIBPATH  .

CODEPAGE   NAME=vectors    START=0x0      END=0x4      PROTECTED
CODEPAGE   NAME=page       START=0x5      END=0x6FF
CODEPAGE   NAME=debug      START=0x700    END=0x7FF    PROTECTED
CODEPAGE   NAME=.idlocs    START=0x2000   END=0x2003   PROTECTED
CODEPAGE   NAME=icd_inst   START=0x2004   END=0x2004   PROTECTED
CODEPAGE   NAME=mfg_code   START=0x2005   END=0x2005   PROTECTED
CODEPAGE   NAME=.device_id START=0x2006   END=0x2006   PROTECTED
CODEPAGE   NAME=.config    START=0x2007   END=0x2007   PROTECTED
CODEPAGE   NAME=.calib     START=0x2008   END=0x2008   PROTECTED
CODEPAGE   NAME=eedata     START=0x2100   END=0x21FF   PROTECTED

DATABANK   NAME=sfr0     START=0x0      END=0x1F     PROTECTED
DATABANK   NAME=sfr1     START=0x80     END=0x9F     PROTECTED

DATABANK   NAME=gpr0     START=0x20     END=0x64
DATABANK   NAME=gpr0dbg  START=0x65     END=0x6F     PROTECTED
DATABANK   NAME=gpr1     START=0xA0     END=0xBF
  
SHAREBANK  NAME=gprnobnkdbg START=0x70     END=0x70   PROTECTED
SHAREBANK  NAME=gprnobnkdbg START=0xF0     END=0xF0   PROTECTED
SHAREBANK  NAME=gprnobnk    START=0x71     END=0x7F
SHAREBANK  NAME=gprnobnk    START=0xF1     END=0xFF

SECTION    NAME=STARTUP  ROM=vectors    // Reset and interrupt vectors
SECTION    NAME=PROG     ROM=page       // ROM code space 
SECTION    NAME=DEBUG    ROM=debug      // debug exec 
SECTION    NAME=IDLOCS   ROM=.idlocs    // ID locations
SECTION    NAME=ICD_INST ROM=icd_inst   // ICD instruction
SECTION    NAME=MFG_CODE ROM=mfg_code   // Manufacturing code
SECTION    NAME=DEVICEID ROM=.device_id // Device ID
SECTION    NAME=CALIBR   ROM=.config    // Calibration bits location
SECTION    NAME=DEEPROM  ROM=eedata     // Data EEPROM
