// File: 12cr509a_g.lkr
// Generic linker script for the PIC12CR509A processor
//// Begin: Added in gputils
//=========================================================================
//
//      Gputils Specific Revision History
//
//=========================================================================
//
//      18 Jul 2012  Changed the page onto page1.
//                   Added the page0.
//
//      24 Jul 2012  Changed the SECTION NAME=PROG onto NAME=PROG0.
//                   Added the SECTION NAME=PROG1.
//
//// End: Added in gputils

#DEFINE _CODEEND _DEBUGCODESTART - 1
#DEFINE _CEND _CODEEND + _DEBUGCODELEN
#DEFINE _DATAEND _DEBUGDATASTART - 1
#DEFINE _DEND _DATAEND + _DEBUGDATALEN

LIBPATH .

//// Begin: Added in gputils
CODEPAGE     NAME=page0      START=0x0               END=0x1FF
//// End: Added in gputils

#IFDEF _DEBUGCODESTART
//// Begin: Changed in gputils
////  CODEPAGE   NAME=page       START=0x0               END=_CODEEND
  CODEPAGE   NAME=page1      START=0x200             END=_CODEEND
//// End: Changed in gputils
  CODEPAGE   NAME=debug      START=_DEBUGCODESTART   END=_CEND        PROTECTED
#ELSE
//// Begin: Changed in gputils
////  CODEPAGE   NAME=page       START=0x0               END=0x3FF                    
  CODEPAGE   NAME=page1      START=0x200             END=0x3FF
//// End: Changed in gputils
#FI

CODEPAGE   NAME=.idlocs    START=0x400             END=0x403          PROTECTED 
CODEPAGE   NAME=.config    START=0xFFF             END=0xFFF          PROTECTED 

SHAREBANK  NAME=sfrs       START=0x0               END=0x6            PROTECTED
SHAREBANK  NAME=sfrs       START=0x20              END=0x26           PROTECTED

DATABANK   NAME=gpr0       START=0x10              END=0x1F           

#IFDEF _DEBUGDATASTART
  DATABANK   NAME=gpr1       START=0x30              END=_DATAEND     
  DATABANK   NAME=dbgspr     START=_DEBUGDATASTART   END=_DEND        PROTECTED
#ELSE //no debug
  DATABANK   NAME=gpr1       START=0x30              END=0x3F           
#FI


#IFDEF _DEBUGDATASTART
  SHAREBANK  NAME=dbgnobnk   START=0x7             END=0x7            PROTECTED
  SHAREBANK  NAME=dbgnobnk   START=0x27            END=0x27           PROTECTED

  SHAREBANK  NAME=gprnobnk   START=0x8             END=0xF            
  SHAREBANK  NAME=gprnobnk   START=0x28            END=0x2F           PROTECTED
#ELSE
  SHAREBANK  NAME=gprnobnk   START=0x7             END=0xF            
  SHAREBANK  NAME=gprnobnk   START=0x27            END=0x2F           PROTECTED
#FI

//// Begin: Changed in gputils
////SECTION    NAME=PROG       ROM=page            // ROM code space
SECTION    NAME=PROG0      ROM=page0           // ROM code space - page0
//// End: Changed in gputils
//// Begin: Added in gputils
SECTION    NAME=PROG1      ROM=page1           // ROM code space - page1
//// End: Added in gputils
SECTION    NAME=IDLOCS     ROM=.idlocs         // ID locations

