📄 softec_hcs12_linker.prm
字号:
NAMES
END
// ATTENTION : This is a simplified PRM file.
// To improve readability, we are not listing all existant pages in this lab example.
SEGMENTS
// non-paged RAM
RAM = READ_WRITE 0x2000 TO 0x3FFF ALIGN 2[1:1]; //Equivalent to RAM Pages FE and FF!!
// non-banked FLASH
ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF;//Equivalent to Flash page FD;
ROM_C000 = READ_ONLY 0xC000 TO 0xFEFF;//Equivalent to Flash page FF;
// paged RAM: 0x1000 TO 0x1FFF; addressed through RPAGE
//RAM_XGATE_STK = READ_WRITE 0xF81000 TO 0xF810FF; //The stack is set by the XGATE compiler option -Cstv=8100
RAM_F0 = READ_WRITE 0xF01000 TO 0xF01FFF;
RAM_F1 = READ_WRITE 0xF11000 TO 0xF11FFF;
RAM_F2 = READ_WRITE 0xF21000 TO 0xF21FFF;
RAM_F3 = READ_WRITE 0xF31000 TO 0xF31FFF;
RAM_F4 = READ_WRITE 0xF41000 TO 0xF41FFF;
RAM_F5 = READ_WRITE 0xF51000 TO 0xF51FFF;
RAM_F6 = READ_WRITE 0xF61000 TO 0xF61FFF;
RAM_F7 = READ_WRITE 0xF71000 TO 0xF71FFF;
RAM_F8 = READ_WRITE 0xF81100 TO 0xF81FFF;
RAM_F9 = READ_WRITE 0xF91000 TO 0xF91FFF ALIGN 2[1:1];
RAM_FA = READ_WRITE 0xFA1000 TO 0xFA1FFF ALIGN 2[1:1];
RAM_FB = READ_WRITE 0xFB1000 TO 0xFB1FFF;
RAM_FC = READ_WRITE 0xFC1000 TO 0xFC1FFF;
RAM_FD = READ_WRITE 0xFD1000 TO 0xFD1FFF;
// RAM_FE = READ_WRITE 0xFE1000 TO 0xFE1FFF; intentionally not defined: equivalent to RAM: 0x2000..0x2FFF
// RAM_FF = READ_WRITE 0xFF1000 TO 0xFF1FFF; intentionally not defined: equivalent to RAM: 0x3000..0x3FFF
// Paged FLASH :
PAGE_E0_0 = READ_ONLY 0xE08000 TO 0xE087FF; // Cannot be mapped to XGATE; XGATE sees registers here
PAGE_E0 = READ_ONLY 0xE08800 TO 0xE0BFFF;
PAGE_E1 = READ_ONLY 0xE18000 TO 0xE1BFFF;
//Pages E0-E7 should NOT be used for HC12 code when also used for XGATE code since
//the HC12 will have priority over the XGATE accessing the FLASH modules resulting very poor performance of
//the XGATE.
PAGE_E2 = READ_ONLY 0xE28000 TO 0xE2BFFF;
PAGE_E3 = READ_ONLY 0xE38000 TO 0xE3BFFF;
PAGE_E4 = READ_ONLY 0xE48000 TO 0xE4BFFF;
PAGE_E5 = READ_ONLY 0xE58000 TO 0xE5BFFF;
PAGE_E6 = READ_ONLY 0xE68000 TO 0xE6BFFF;
PAGE_E7 = READ_ONLY 0xE78000 TO 0xE7BFFF;
PAGE_FE = READ_ONLY 0xFE8000 TO 0xFEBFFF;
PAGE_FC = READ_ONLY 0xFC8000 TO 0xFCBFFF;
END
PLACEMENT // Here all predefined and user segments are placed into the SEGMENTS defined above.
_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
NON_BANKED, // runtime routines which must not be banked
COPY // copy down information: how to initialize variables
INTO ROM_C000;
DEFAULT_ROM INTO PAGE_FE;
SSTACK, // allocate stack first to avoid overwriting variables on overflow
DEFAULT_RAM, // all variables, the default RAM location
SHARED_DATA
INTO RAM;
MY_CPU_DATA INTO RAM_F0;
XGATE_VECTORS INTO RAM_FA;
XGATE_CODE,
XGATE_DATA
INTO RAM_F9;
END
ENTRIES /* keep the following unreferenced variables */
END
STACKSIZE 0x100
VECTOR 0 _Startup /* reset vector */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -