📄 tbdml_linker.prm
字号:
NAMES END
SEGMENTS
RAM = READ_WRITE 0x0400 TO 0x23FF;
/* unbanked FLASH ROM */
ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF;
ROM_C000 = READ_ONLY 0xC000 TO 0xFEFF;
/* banked FLASH ROM */
// PAGE_30 = READ_ONLY 0x308000 TO 0x30BFFF;
// PAGE_31 = READ_ONLY 0x318000 TO 0x31BFFF;
// PAGE_32 = READ_ONLY 0x328000 TO 0x32BFFF;
// PAGE_33 = READ_ONLY 0x338000 TO 0x33BFFF;
// PAGE_34 = READ_ONLY 0x348000 TO 0x34BFFF;
// PAGE_35 = READ_ONLY 0x358000 TO 0x35BFFF;
// PAGE_36 = READ_ONLY 0x368000 TO 0x36BFFF;
// PAGE_37 = READ_ONLY 0x378000 TO 0x37BFFF;
PAGE_38 = READ_ONLY 0x388000 TO 0x38BFFF;
PAGE_39 = READ_ONLY 0x398000 TO 0x39BFFF;
PAGE_3A = READ_ONLY 0x3A8000 TO 0x3ABFFF;
PAGE_3B = READ_ONLY 0x3B8000 TO 0x3BBFFF;
PAGE_3C = READ_ONLY 0x3C8000 TO 0x3CBFFF;
PAGE_3D = READ_ONLY 0x3D8000 TO 0x3DBFFF;
/* PAGE_3E = READ_ONLY 0x3E8000 TO 0x3EBFFF; not used: equivalent to ROM_4000 */
/* PAGE_3F = READ_ONLY 0x3F8000 TO 0x3FBFFF; not used: equivalent to ROM_C000 */
END
PLACEMENT
_PRESTART, /* Used in HIWARE format: jump to _Startup at the code start */
STARTUP, /* startup data structures */
ROM_VAR, /* constant variables */
STRINGS, /* string literals */
VIRTUAL_TABLE_SEGMENT, /* C++ virtual table segment */
DEFAULT_ROM, NON_BANKED , /* runtime routines which must not be banked */
COPY /* copy down information: how to initialize variables */
/* in case you want to use ROM_4000 here as well, make sure
that all files (incl. library files) are compiled with the
option: -OnB=b */
INTO ROM_C000;
OTHER_ROM INTO ///*PAGE_30,PAGE_31,*/PAGE_32,PAGE_33/*,PAGE_34*/,PAGE_35,PAGE_36,PAGE_37,
ROM_4000;
TaskStartCode INTO PAGE_38;
Task_FollowLineCode INTO PAGE_39;
Task_LineCounterCode INTO PAGE_39;
Task_SpreadShortCode INTO PAGE_39;
Task_SwerveCode INTO PAGE_3A;
Task_SnatchCode INTO PAGE_3B;
Task_UpdownCode INTO PAGE_3C;
Task_HostServantCommCode INTO PAGE_3D;
DEFAULT_RAM INTO RAM;
END
STACKSIZE 0x180
ENTRIES
TaskStart //开始任务
Task_FollowLine //循线任务
Task_LineCounter //数线任务
Task_Swerve //转弯任务
Task_Snatch //手臂抓取任务
Task_Updown //手臂上升下降任务
Task_HostServantComm //和电脑通讯任务
Task_SpreadShort
END
//VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */
VECTOR ADDRESS 0xFFFE _Startup
VECTOR ADDRESS 0xFFF0 OSTickISR
VECTOR ADDRESS 0xFFF6 OSCtxSw
VECTOR ADDRESS 0xFFDE Int_TimerOverFlow
//VECTOR ADDRESS 0x0000FFD0 Int_AD1
//VECTOR ADDRESS 0x0000FFD2 Int_AD0
VECTOR ADDRESS 0xFFE0 Int_Timer7OverFlow
VECTOR ADDRESS 0xFFE2 Int_Timer6OverFlow
VECTOR ADDRESS 0xFFE4 Int_Timer5OverFlow
VECTOR ADDRESS 0xFFE6 Int_Timer4OverFlow
VECTOR ADDRESS 0xFFE8 Int_Timer3OverFlow
VECTOR ADDRESS 0xFFEA Int_Timer2OverFlow
VECTOR ADDRESS 0xFFEC Int_Timer1OverFlow
VECTOR ADDRESS 0xFFEE Int_Timer0OverFlow
//VECTOR ADDRESS 0xFFD2 Int_AD0
//VECTOR ADDRESS 0xFFD0 Int_AD1
VECTOR ADDRESS 0xFFD6 sci0_isr
VECTOR ADDRESS 0xFFD4 sci1_isr
//VECTOR ADDRESS 0xFFFE _Startup /* 0xFFFE Reset */
//VECTOR ADDRESS 0xFFFC clockmonitor_isr /* 0xFFFC Clock monitor fail reset */
//VECTOR ADDRESS 0xFFFA cop_isr /* 0xFFFA COP failure reset */
//VECTOR ADDRESS 0xFFF8 trap_isr /* 0xFFF8 Unimplemented instruction trap */
//VECTOR ADDRESS 0xFFF6 swi_isr /* 0xFFF6 SWI */
//VECTOR ADDRESS 0xFFF4 xirq_isr /* 0xFFF4 XIRQ */
//VECTOR ADDRESS 0xFFF2 irq_isr /* 0xFFF2 IRQ */
//VECTOR ADDRESS 0xFFF0 rti_isr /* 0xFFF0 real Time Interrupt */
//VECTOR ADDRESS 0xFFEE ect_ch0_isr /* 0xFFEE Timer channel 0 */
//VECTOR ADDRESS 0xFFEC ect_ch1_isr /* 0xFFEC Timer channel 1 */
//VECTOR ADDRESS 0xFFEA ect_ch2_isr /* 0xFFEA Timer channel 2 */
//VECTOR ADDRESS 0xFFE8 ect_ch3_isr /* 0xFFE8 Timer channel 3 */
//VECTOR ADDRESS 0xFFE6 ect_ch4_isr /* 0xFFE6 Timer channel 4 */
//VECTOR ADDRESS 0xFFE4 ect_ch5_isr /* 0xFFE4 Timer channel 5 */
//VECTOR ADDRESS 0xFFE2 ect_ch6_isr /* 0xFFE2 Timer channel 6 */
//VECTOR ADDRESS 0xFFE0 ect_ch7_isr /* 0xFFE0 Timer channel 7 */
//VECTOR ADDRESS 0xFFDE ect_overflow_isr /* 0xFFDE Timer overflow */
//VECTOR ADDRESS 0xFFDC pa_a_overflow_isr /* 0xFFDC Pulse accumulator A overflow */
//VECTOR ADDRESS 0xFFDA pa_a_edge_isr /* 0xFFDA Pulse accumulator input edge */
//VECTOR ADDRESS 0xFFD8 spi0_isr /* 0xFFD8 SPI Serial transfer complete */
//VECTOR ADDRESS 0xFFD6 sci0_isr /* 0xFFD6 SCI0 */
//VECTOR ADDRESS 0xFFD4 sci1_isr /* 0xFFD4 SCI1 */
//VECTOR ADDRESS 0xFFD2 atd0_isr /* 0xFFD2 ATD0 */
//VECTOR ADDRESS 0xFFD0 atd1_isr /* 0xFFD0 ATD1 */
//VECTOR ADDRESS 0xFFCE portj_isr /* 0xFFCE port J */
//VECTOR ADDRESS 0xFFCC porth_isr /* 0xFFCC Port H */
//VECTOR ADDRESS 0xFFCA ect_mdc_isr /* 0xFFCA Modulus Down Counter underflow */
//VECTOR ADDRESS 0xFFC8 pa_b_overflow_isr /* 0xFFC8 Pulse Accumulator B Overflow */
//VECTOR ADDRESS 0xFFC6 crg_pll_lock_isr /* 0xFFC6 CRG lock */
//VECTOR ADDRESS 0xFFC4 crg_scm_isr /* 0xFFC4 SCME */
//VECTOR ADDRESS 0xFFC2 bdlc_isr /* 0xFFC2 BDLC */
//VECTOR ADDRESS 0xFFC0 iic_isr /* 0xFFC0 IIC Bus */
//VECTOR ADDRESS 0xFFBE spi1_isr /* 0xFFBE SPI1 */
//VECTOR ADDRESS 0xFFBC unused_isr /* 0xFFBC unused vector */
//VECTOR ADDRESS 0xFFBA eeprom_isr /* 0xFFBA EEPROM */
//VECTOR ADDRESS 0xFFB8 flash_isr /* 0xFFB8 Flash */
//VECTOR ADDRESS 0xFFB6 mscan0_wakeup_isr /* 0xFFB6 MSCAN 0 wake-up */
//VECTOR ADDRESS 0xFFB4 mscan0_error_isr /* 0xFFB4 MSCAN 0 errors */
//VECTOR ADDRESS 0xFFB2 mscan0_rx_isr /* 0xFFB2 MSCAN 0 receive */
//VECTOR ADDRESS 0xFFB0 mscan0_tx_isr /* 0xFFB0 MSCAN 0 transmit */
//VECTOR ADDRESS 0xFFAE mscan1_wakeup_isr /* 0xFFAE MSCAN 1 wake-up */
//VECTOR ADDRESS 0xFFAC mscan1_error_isr /* 0xFFAC MSCAN 1 errors */
//VECTOR ADDRESS 0xFFAA mscan1_rx_isr /* 0xFFAA MSCAN 1 receive */
//VECTOR ADDRESS 0xFFA8 mscan1_tx_isr /* 0xFFA8 MSCAN 1 transmit */
//VECTOR ADDRESS 0xFFA6 bf_rx_fifo_isr /* 0xFFA6 Byte Flight RX Fifo not empty */
//VECTOR ADDRESS 0xFFA4 bf_rx_isr /* 0xFFA4 Byte Flight receive */
//VECTOR ADDRESS 0xFFA2 bf_sync_isr /* 0xFFA2 Byte Flight syncronization */
//VECTOR ADDRESS 0xFFA0 bf_general_isr /* 0xFFA0 Byte Flight general */
//VECTOR ADDRESS 0xFF9E unused_isr /* 0xFF9E unused vector */
//VECTOR ADDRESS 0xFF9C unused_isr /* 0xFF9C unused vector */
//VECTOR ADDRESS 0xFF9A unused_isr /* 0xFF9A unused vector */
//VECTOR ADDRESS 0xFF98 unused_isr /* 0xFF98 unused vector */
//VECTOR ADDRESS 0xFF96 mscan4_wakeup_isr /* 0xFF96 MSCAN 4 wake-up */
//VECTOR ADDRESS 0xFF94 mscan4_error_isr /* 0xFF94 MSCAN 4 errors */
//VECTOR ADDRESS 0xFF92 mscan4_rx_isr /* 0xFF92 MSCAN 4 receive */
//VECTOR ADDRESS 0xFF90 mscan4_tx_isr /* 0xFF90 MSCAN 4 transmit */
//VECTOR ADDRESS 0xFF8E portp_isr /* 0xFF8E Port P Interrupt */
//VECTOR ADDRESS 0xFF8C pwm_shutdown_isr /* 0xFF8C PWM Shutdown */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -