1 # NOTE: The debugger uses the Illegal Instruction Vector to stop.
\r
2 # A small subroutine is written at the location VBR+0x408-VBR+0x40B
\r
3 # to handle the exception. The Illegal Instruction Vector in
\r
4 # the the vector table at VBR+0x10 is then pointed to it. When the
\r
5 # debugger encounters an illegal instruction, it jumps to this
\r
6 # subroutine, which ends with an RTE, then exits.
\r
7 # Do not overwrite this area of memory otherwise the debugger may not
\r
13 vectorflash(RX) : ORIGIN = 0x00000000, LENGTH = 0x00000418
\r
15 flash (RX) : ORIGIN = 0x00000420, LENGTH = 0x0007FC00
\r
16 vectorram(RWX) : ORIGIN = 0x20000000, LENGTH = 0x00000400
\r
17 sram (RWX) : ORIGIN = 0x20000400, LENGTH = 0x0000FA00
\r
18 ipsbar (RWX) : ORIGIN = 0x40000000, LENGTH = 0x0
\r
23 .ipsbar : {} > ipsbar
\r
27 mcf5225x_vectors.s (.text)
\r
39 .data : AT(___DATA_ROM)
\r
45 __exception_table_start__ = .;
\r
47 __exception_table_end__ = .;
\r
80 ___BSS_START = __START_SBSS;
\r
81 ___BSS_END = __END_BSS;
\r
86 ___FLASH = ADDR(.vectorflash);
\r
87 ___FLASH_SIZE = 0x00080000;
\r
88 ___SRAM = 0x20000400;
\r
89 ___SRAM_SIZE = 0x0000FC00;
\r
91 ___VECTOR_RAM = 0x20000000;
\r
92 ___IPSBAR = ADDR(.ipsbar);
\r
96 ___HEAP_END = ___SRAM + ___SRAM_SIZE - ___SP_SIZE;
\r
97 ___SP_END = ___HEAP_END;
\r
98 ___SP_INIT = ___SP_END + ___SP_SIZE;
\r
100 ___heap_addr = ___HEAP_START;
\r
101 ___heap_size = ___HEAP_END - ___HEAP_START ;
\r
102 __SP_INIT = ___SP_INIT;
\r