// File: 12f520_g.lkr
// Generic linker script for the PIC12F520 processor

LIBPATH .

CODEPAGE   NAME=page0      START=0x0               END=0x1FF                    
CODEPAGE   NAME=page1      START=0x200             END=0x3FF                    
CODEPAGE   NAME=page2      START=0x400             END=0x5FF                    
CODEPAGE   NAME=flashdata  START=0x600             END=0x63F          PROTECTED 
CODEPAGE   NAME=userid     START=0x640             END=0x643          PROTECTED 
CODEPAGE   NAME=.config    START=0xFFF             END=0xFFF          PROTECTED 

DATABANK   NAME=sfr0       START=0x0               END=0x6            PROTECTED
DATABANK   NAME=sfr1       START=0x20              END=0x26           PROTECTED
DATABANK   NAME=sfr2       START=0x40              END=0x46           PROTECTED
DATABANK   NAME=sfr3       START=0x60              END=0x66           PROTECTED
DATABANK   NAME=sfr4       START=0x80              END=0x86           PROTECTED
DATABANK   NAME=sfr5       START=0xA0              END=0xA6           PROTECTED
DATABANK   NAME=sfr6       START=0xC0              END=0xC6           PROTECTED
DATABANK   NAME=sfr7       START=0xE0              END=0xE6           PROTECTED

DATABANK   NAME=gpr0       START=0x10              END=0x1F           
DATABANK   NAME=gpr1       START=0x30              END=0x3F           
DATABANK   NAME=gpr2       START=0x50              END=0x5F           
DATABANK   NAME=gpr3       START=0x70              END=0x7F           
DATABANK   NAME=gpr4       START=0x90              END=0x9F           
DATABANK   NAME=gpr5       START=0xB0              END=0xBF           
DATABANK   NAME=gpr6       START=0xD0              END=0xDF           
DATABANK   NAME=gpr7       START=0xF0              END=0xFF           

SHAREBANK  NAME=gprnobank  START=0x7             END=0xF            
SHAREBANK  NAME=gprnobank  START=0x27            END=0x2F           PROTECTED
SHAREBANK  NAME=gprnobank  START=0x47            END=0x4F           PROTECTED
SHAREBANK  NAME=gprnobank  START=0x67            END=0x6F           PROTECTED
SHAREBANK  NAME=gprnobank  START=0x87            END=0x8F           PROTECTED
SHAREBANK  NAME=gprnobank  START=0xA7            END=0xAF           PROTECTED
SHAREBANK  NAME=gprnobank  START=0xC7            END=0xCF           PROTECTED
SHAREBANK  NAME=gprnobank  START=0xE7            END=0xEF           PROTECTED

SECTION    NAME=PROG0      ROM=page0           // ROM code space - page0
SECTION    NAME=PROG1      ROM=page1           // ROM code space - page1
SECTION    NAME=PROG2      ROM=page2           // ROM code space - page2
SECTION    NAME=FLASHDATA  ROM=flashdata       // Writable Flash Data Memory
SECTION    NAME=IDLOCS     ROM=userid          // ID Locations

