PICDEM 17 Demonstration Board Users Guide
DS39024B-page 24 2001 Microchip Technology Inc.
4.3 Linker Script File

Any program compiled with the MPLAB C17 C compiler requires the use of a

linker script file that documents the areas of memory that the linker is free to

use. Programs targeted to run out of external FLASH program memory

require a special linker script file that assumes that program memor y starts at

address 4000h. All of the source code written for the PICDEM 17

demonstration board must be compiled using the large memory model since it

will reside at memory addresses larger than 4000h and will be called from a

memory address somewhere in the first two pages of memory.

//****************************************************************
// PIC17C756A MPLAB C v2.0 Linker Script File, Version 1.10
//
// L a r g e M o d e l
//
// For the PICDEM 17 Workshop Demo Board
//
// (c) Copyright 1997 Microchip Technology
//****************************************************************
// Add other files to the project
FILESp17c756.o
FILESpmc756l.lib
// ROM area for reset & interrupt vectors
CODEPAGE PROTECTED NAME=VECTORS START=0x4000 END=0x4027
// User Program memory
// First two pages are used by on-chip monitor program
//CODEPAGE NAME=PAGE0 START=0x0028 END=0x1FFF
//CODEPAGE NAME=PAGE1 START=0x2000 END=0x3FFF
// Your program starts in page 2
// First 28h locations of page 2 are vectors
CODEPAGE NAME=PAGE2 START=0x4028 END=0x5FFF
CODEPAGE NAME=PAGE3 START=0x6000 END=0x7FFF
CODEPAGE NAME=PAGE4 START=0x8000 END=0x9FFF
CODEPAGE NAME=PAGE5 START=0xA000 END=0xBFFF
CODEPAGE NAME=PAGE6 START=0xC000 END=0xDFFF
CODEPAGE NAME=PAGE7 START=0xE000 END=0xFFFF
// Special Function registers
// 1. SFRs that are shared (0x00 to 0x0F)
SHAREBANK PROTECTED NAME=SFRShareA START=0x000 END=0x00F
SHAREBANK PROTECTED NAME=SFRShareA START=0x100 END=0x10F
SHAREBANK PROTECTED NAME=SFRShareA START=0x200 END=0x20F
SHAREBANK PROTECTED NAME=SFRShareA START=0x300 END=0x30F
SHAREBANK PROTECTED NAME=SFRShareA START=0x400 END=0x40F
SHAREBANK PROTECTED NAME=SFRShareA START=0x500 END=0x50F
SHAREBANK PROTECTED NAME=SFRShareA START=0x600 END=0x60F
SHAREBANK PROTECTED NAME=SFRShareA START=0x700 END=0x70F
// 2. SFRs in banks 0 - 7
DATABANK PROTECTED NAME=SFR0 START=0x010 END=0x017
DATABANK PROTECTED NAME=SFR1 START=0x110 END=0x117
DATABANK PROTECTED NAME=SFR2 START=0x210 END=0x217
DATABANK PROTECTED NAME=SFR3 START=0x310 END=0x317