Subversion Repositories Code-Repo

Rev

Rev 121 | Blame | Last modification | View Log | RSS feed

// File: 18f27j13_g.lkr
// Generic linker script for the PIC18F27J13 processor

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

LIBPATH .

#IFDEF _CRUNTIME
  #IFDEF _EXTENDEDMODE
    FILES c018i_e.o
    FILES clib_e.lib
    FILES p18f27j13_e.lib

  #ELSE
    FILES c018i.o
    FILES clib.lib
    FILES p18f27j13.lib
  #FI

#FI

#IFDEF _DEBUGCODESTART
  CODEPAGE   NAME=page       START=0x0               END=_CODEEND
  CODEPAGE   NAME=debug      START=_DEBUGCODESTART   END=_CEND        PROTECTED
#ELSE
  CODEPAGE   NAME=page       START=0x0               END=0x1FFF7
#FI

CODEPAGE   NAME=config     START=0x1FFF8           END=0x1FFFF        PROTECTED
CODEPAGE   NAME=devid      START=0x3FFFFE          END=0x3FFFFF       PROTECTED

#IFDEF _EXTENDEDMODE
  DATABANK   NAME=gpre       START=0x0               END=0x5F
#ELSE
  ACCESSBANK NAME=accessram  START=0x0               END=0x5F
#FI

DATABANK   NAME=gpr0       START=0x60              END=0xFF
DATABANK   NAME=gpr1       START=0x100             END=0x1FF
DATABANK   NAME=gpr2       START=0x200             END=0x2FF
DATABANK   NAME=gpr3       START=0x300             END=0x3FF
DATABANK   NAME=gpr4       START=0x400             END=0x4FF
DATABANK   NAME=gpr5       START=0x500             END=0x5FF
DATABANK   NAME=gpr6       START=0x600             END=0x6FF

//DATABANK   NAME=gpr7       START=0x700             END=0x7FF
//DATABANK   NAME=gpr8       START=0x800             END=0x8FF
//DATABANK   NAME=gpr9       START=0x900             END=0x9FF
//DATABANK   NAME=gpr10      START=0xA00             END=0xAFF
//DATABANK   NAME=gpr11      START=0xB00             END=0xBFF
//DATABANK   NAME=gpr12      START=0xC00             END=0xCFF

// Large (256b) buffer allocated in RAM for UART1 (replaces gpr7)
DATABANK   NAME=UART1_BUFFER       START=0x700             END=0x7FF
SECTION     NAME=UART1_BUFFER     RAM=UART1_BUFFER

// Large (256b) buffer allocated in RAM for XBee (replaces gpr8)
DATABANK   NAME=XBEE_BUFFER       START=0x800             END=0x8FF
SECTION     NAME=XBEE_BUFFER     RAM=XBEE_BUFFER

// Large (1024b) buffer allocated in RAM for LCD (replaces gpr9-12)
DATABANK    NAME=LCD_BUFFER     START=0x900         END=0xCFF
SECTION     NAME=LCD_BUFFER     RAM=LCD_BUFFER

#IFDEF _DEBUGDATASTART
  DATABANK   NAME=gpr13      START=0xD00             END=_DATAEND
  DATABANK   NAME=dbgspr     START=_DEBUGDATASTART   END=_DEND           PROTECTED
#ELSE //no debug
  DATABANK   NAME=gpr13      START=0xD00             END=0xDFF
#FI

DATABANK   NAME=gpr14      START=0xE00             END=0xEAF
DATABANK   NAME=sfr14      START=0xEB0             END=0xEFF          PROTECTED
DATABANK   NAME=sfr15      START=0xF00             END=0xF5F          PROTECTED
ACCESSBANK NAME=accesssfr  START=0xF60             END=0xFFF          PROTECTED

#IFDEF _CRUNTIME
  SECTION    NAME=CONFIG     ROM=config
  #IFDEF _DEBUGDATASTART
    STACK SIZE=0x100 RAM=gpr12
  #ELSE
    STACK SIZE=0x100 RAM=gpr13
  #FI
#FI