📄 p33fj256mc710.gld
字号:
/*
** Linker script for PIC33FJ256MC710
*/
OUTPUT_ARCH("33FJ256MC710")
EXTERN(__resetPRI)
EXTERN(__resetALT)
/*
** Memory Regions
*/
MEMORY
{
data (a!xr) : ORIGIN = 0x800, LENGTH = 0x7800
reset : ORIGIN = 0x0, LENGTH = 0x4
ivt : ORIGIN = 0x4, LENGTH = 0xFC
aivt : ORIGIN = 0x104, LENGTH = 0xFC
program (xr) : ORIGIN = 0x200, LENGTH = 0x2AA00
FBS : ORIGIN = 0xF80000, LENGTH = 0x2
FSS : ORIGIN = 0xF80002, LENGTH = 0x2
FGS : ORIGIN = 0xF80004, LENGTH = 0x2
FOSCSEL : ORIGIN = 0xF80006, LENGTH = 0x2
FOSC : ORIGIN = 0xF80008, LENGTH = 0x2
FWDT : ORIGIN = 0xF8000A, LENGTH = 0x2
FPOR : ORIGIN = 0xF8000C, LENGTH = 0x2
CONFIG3 : ORIGIN = 0xF8000E, LENGTH = 0x2
FUID0 : ORIGIN = 0xF80010, LENGTH = 0x2
FUID1 : ORIGIN = 0xF80012, LENGTH = 0x2
FUID2 : ORIGIN = 0xF80014, LENGTH = 0x2
FUID3 : ORIGIN = 0xF80016, LENGTH = 0x2
}
__FBS = 0xF80000;
__FSS = 0xF80002;
__FGS = 0xF80004;
__FOSCSEL = 0xF80006;
__FOSC = 0xF80008;
__FWDT = 0xF8000A;
__FPOR = 0xF8000C;
__FUID0 = 0xF80010;
__FUID1 = 0xF80012;
__FUID2 = 0xF80014;
__FUID3 = 0xF80016;
__IVT_BASE = 0x4;
__AIVT_BASE = 0x104;
__DATA_BASE = 0x800;
__YDATA_BASE = 0x4800;
__DMA_BASE = 0x7800;
__DMA_END = 0x7FFF;
__CODE_BASE = 0x200;
/*
** ==================== Section Map ======================
*/
SECTIONS
{
/*
** ========== Program Memory ==========
*/
/*
** Reset Instruction
*/
.reset :
{
SHORT(ABSOLUTE(__reset));
SHORT(0x04);
SHORT((ABSOLUTE(__reset) >> 16) & 0x7F);
SHORT(0);
} >reset
/*
** Interrupt Vector Tables
**
** The primary and alternate tables are loaded
** here, between sections .reset and .text.
** Vector table source code appears below.
*/
/*
** User Code and Library Code
**
** This section must not be assigned to __CODE_BASE,
** because CodeGuard(tm) sections may be located there.
*/
.text :
{
*(.init);
*(.handle);
*(.libc) *(.libm) *(.libdsp); /* keep together in this order */
*(.lib*);
*(.text);
} >program
/*
** Configuration Words
*/
__FBS :
{ *(__FBS.sec) } >FBS
__FSS :
{ *(__FSS.sec) } >FSS
__FGS :
{ *(__FGS.sec) } >FGS
__FOSCSEL :
{ *(__FOSCSEL.sec) } >FOSCSEL
__FOSC :
{ *(__FOSC.sec) } >FOSC
__FWDT :
{ *(__FWDT.sec) } >FWDT
__FPOR :
{ *(__FPOR.sec) } >FPOR
__FUID0 :
{ *(__FUID0.sec) } >FUID0
__FUID1 :
{ *(__FUID1.sec) } >FUID1
__FUID2 :
{ *(__FUID2.sec) } >FUID2
__FUID3 :
{ *(__FUID3.sec) } >FUID3
/*
** =========== Data Memory ===========
*/
/*
** ICD Debug Exec
**
** This section provides optional storage for
** the ICD2 debugger. Define a global symbol
** named __ICD2RAM to enable ICD2. This section
** must be loaded at data address 0x800.
*/
.icd __DATA_BASE (NOLOAD):
{
. += (DEFINED (__ICD2RAM) ? 0x50 : 0 );
} > data
/*
** Other sections in data memory are not explicitly mapped.
** Instead they are allocated according to their section
** attributes, which is most efficient.
**
** If a specific arrangement of sections is required
** (other than what can be achieved using attributes)
** additional sections may be defined here. See chapter
** 10.5 in the MPLAB ASM30/LINK30 User's Guide (DS51317)
** for more information.
*/
/*
** ========== Debug Info ==============
*/
.comment 0 : { *(.comment) }
/*
** DWARF-2
*/
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_ranges 0 : { *(.debug_ranges) }
.debug_aranges 0 : { *(.debug_aranges) }
} /* SECTIONS */
/*
** ================= End of Section Map ================
*/
/*
** Section Map for Interrupt Vector Tables
*/
SECTIONS
{
/*
** Interrupt Vector Table
*/
.ivt __IVT_BASE :
{
LONG( DEFINED(__ReservedTrap0) ? ABSOLUTE(__ReservedTrap0) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OscillatorFail) ? ABSOLUTE(__OscillatorFail) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__AddressError) ? ABSOLUTE(__AddressError) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__StackError) ? ABSOLUTE(__StackError) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__MathError) ? ABSOLUTE(__MathError) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMACError) ? ABSOLUTE(__DMACError) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__ReservedTrap6) ? ABSOLUTE(__ReservedTrap6) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__ReservedTrap7) ? ABSOLUTE(__ReservedTrap7) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__INT0Interrupt) ? ABSOLUTE(__INT0Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC1Interrupt) ? ABSOLUTE(__IC1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC1Interrupt) ? ABSOLUTE(__OC1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T1Interrupt) ? ABSOLUTE(__T1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA0Interrupt) ? ABSOLUTE(__DMA0Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC2Interrupt) ? ABSOLUTE(__IC2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC2Interrupt) ? ABSOLUTE(__OC2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T2Interrupt) ? ABSOLUTE(__T2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T3Interrupt) ? ABSOLUTE(__T3Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SPI1ErrInterrupt) ? ABSOLUTE(__SPI1ErrInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SPI1Interrupt) ? ABSOLUTE(__SPI1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U1RXInterrupt) ? ABSOLUTE(__U1RXInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U1TXInterrupt) ? ABSOLUTE(__U1TXInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__ADC1Interrupt) ? ABSOLUTE(__ADC1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA1Interrupt) ? ABSOLUTE(__DMA1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt15) ? ABSOLUTE(__Interrupt15) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SI2C1Interrupt) ? ABSOLUTE(__SI2C1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__MI2C1Interrupt) ? ABSOLUTE(__MI2C1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt18) ? ABSOLUTE(__Interrupt18) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__CNInterrupt) ? ABSOLUTE(__CNInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__INT1Interrupt) ? ABSOLUTE(__INT1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__ADC2Interrupt) ? ABSOLUTE(__ADC2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC7Interrupt) ? ABSOLUTE(__IC7Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC8Interrupt) ? ABSOLUTE(__IC8Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA2Interrupt) ? ABSOLUTE(__DMA2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC3Interrupt) ? ABSOLUTE(__OC3Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC4Interrupt) ? ABSOLUTE(__OC4Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T4Interrupt) ? ABSOLUTE(__T4Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T5Interrupt) ? ABSOLUTE(__T5Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__INT2Interrupt) ? ABSOLUTE(__INT2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U2RXInterrupt) ? ABSOLUTE(__U2RXInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U2TXInterrupt) ? ABSOLUTE(__U2TXInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SPI2ErrInterrupt) ? ABSOLUTE(__SPI2ErrInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SPI2Interrupt) ? ABSOLUTE(__SPI2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__C1RxRdyInterrupt) ? ABSOLUTE(__C1RxRdyInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__C1Interrupt) ? ABSOLUTE(__C1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA3Interrupt) ? ABSOLUTE(__DMA3Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC3Interrupt) ? ABSOLUTE(__IC3Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC4Interrupt) ? ABSOLUTE(__IC4Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC5Interrupt) ? ABSOLUTE(__IC5Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__IC6Interrupt) ? ABSOLUTE(__IC6Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC5Interrupt) ? ABSOLUTE(__OC5Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC6Interrupt) ? ABSOLUTE(__OC6Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC7Interrupt) ? ABSOLUTE(__OC7Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__OC8Interrupt) ? ABSOLUTE(__OC8Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt45) ? ABSOLUTE(__Interrupt45) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA4Interrupt) ? ABSOLUTE(__DMA4Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T6Interrupt) ? ABSOLUTE(__T6Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T7Interrupt) ? ABSOLUTE(__T7Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SI2C2Interrupt) ? ABSOLUTE(__SI2C2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__MI2C2Interrupt) ? ABSOLUTE(__MI2C2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T8Interrupt) ? ABSOLUTE(__T8Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__T9Interrupt) ? ABSOLUTE(__T9Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__INT3Interrupt) ? ABSOLUTE(__INT3Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__INT4Interrupt) ? ABSOLUTE(__INT4Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__C2RxRdyInterrupt) ? ABSOLUTE(__C2RxRdyInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__C2Interrupt) ? ABSOLUTE(__C2Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__PWMInterrupt) ? ABSOLUTE(__PWMInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__QEIInterrupt) ? ABSOLUTE(__QEIInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt59) ? ABSOLUTE(__Interrupt59) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt60) ? ABSOLUTE(__Interrupt60) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA5Interrupt) ? ABSOLUTE(__DMA5Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt62) ? ABSOLUTE(__Interrupt62) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__FLTAInterrupt) ? ABSOLUTE(__FLTAInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__FLTBInterrupt) ? ABSOLUTE(__FLTBInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U1ErrInterrupt) ? ABSOLUTE(__U1ErrInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U2ErrInterrupt) ? ABSOLUTE(__U2ErrInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__Interrupt68) ? ABSOLUTE(__Interrupt68) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA6Interrupt) ? ABSOLUTE(__DMA6Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__DMA7Interrupt) ? ABSOLUTE(__DMA7Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__C1TxReqInterrupt) ? ABSOLUTE(__C1TxReqInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__C2TxReqInterrupt) ? ABSOLUTE(__C2TxReqInterrupt) :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -