// Sample linker command file for 16F873 // $Id: 16f873.lkr,v 1.6 2004/07/24 05:27:00 craigfranklin Exp $ // 2005/02/24 // Modified by so memory is specified in a manner that // allows assembly of code for multiple PIC16F87X targets. // Also have reserved one memory location for saving of // of the W register on interrupt. LIBPATH . CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED CODEPAGE NAME=page0 START=0x5 END=0x7FF CODEPAGE NAME=page1 START=0x800 END=0xFFF CODEPAGE NAME=.idlocs START=0x2000 END=0x2003 PROTECTED CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED CODEPAGE NAME=eedata START=0x2100 END=0x217F PROTECTED DATABANK NAME=sfr0 START=0x0 END=0x1F PROTECTED DATABANK NAME=sfr1 START=0x80 END=0x9F PROTECTED DATABANK NAME=sfr2 START=0x100 END=0x10F PROTECTED DATABANK NAME=sfr3 START=0x180 END=0x18F PROTECTED DATABANK NAME=gpr0 START=0x20 END=0x70 DATABANK NAME=gpr1 START=0xA0 END=0xF0 // Used for context-switching. SHAREBANK NAME=gps0 START=0x7F END=0x7F SHAREBANK NAME=gps0 START=0xFF END=0xFF // Removed this line (and another like it) in order to allow // use of UDATA rather than UDATA_SHR for normal variables. //SHAREBANK NAME=gpr1 START=0x1A0 END=0x1FF SECTION NAME=STARTUP ROM=vectors // Reset and interrupt vectors SECTION NAME=PROG1 ROM=page0 // ROM code space - page0 SECTION NAME=PROG2 ROM=page1 // ROM code space - page1 SECTION NAME=IDLOCS ROM=.idlocs // ID locations SECTION NAME=CONFIG ROM=.config // Configuration bits location SECTION NAME=DEEPROM ROM=eedata // Data EEPROM