|
发表于 2014-12-19 15:17:43
|
显示全部楼层
p24FJXXGAXXX.gld
/*
** Linker script for PIC24FJ64GA306
*/
OUTPUT_ARCH("24FJ64GA306")
CRT0_STARTUP(crt0_extended.o)
CRT1_STARTUP(crt1_extended.o)
OPTIONAL(-lpPIC24Fxxx)
/*
** Memory Regions
*/
MEMORY
{
data (a!xr) : ORIGIN = 0x800, LENGTH = 0x2000
reset : ORIGIN = 0x0, LENGTH = 0x4
ivt : ORIGIN = 0x4, LENGTH = 0xFC
_reserved : ORIGIN = 0x100, LENGTH = 0x4
aivt : ORIGIN = 0x104, LENGTH = 0xFC
program (xr) : ORIGIN = 0x200, LENGTH = 0xA9F6-(0xA9F6+0x200-0xA400)
CONFIG4 : ORIGIN = 0xABF8, LENGTH = 0x2
CONFIG3 : ORIGIN = 0xABFA, LENGTH = 0x2
CONFIG2 : ORIGIN = 0xABFC, LENGTH = 0x2
CONFIG1 : ORIGIN = 0xABFE, LENGTH = 0x2
bootloader : ORIGIN = 0xA400, LENGTH = 0xA9F6+0x200-0xA400
}
__CONFIG4 = 0xABF8;
__CONFIG3 = 0xABFA;
__CONFIG2 = 0xABFC;
__CONFIG1 = 0xABFE;
__NO_HANDLES = 1; /* Suppress handles on this device */
__IVT_BASE = 0x4;
__AIVT_BASE = 0x104;
__DATA_BASE = 0x800;
__DATA_LENGTH = 0x2000;
__CODE_BASE = 0x200;
__CODE_LENGTH = 0xA9F8;
/*
** ==================== Section Map ======================
*/
SECTIONS
{
/*
** ========== Program Memory ==========
*/
/*
** Reset Instruction
*/
.reset :
{
SHORT(ABSOLUTE(__reset));
SHORT(0x04);
SHORT((ABSOLUTE(__reset) >> 16) & 0x7F);
SHORT(0);
} >reset
|
|