4 OUTPUT_FORMAT(elf32-sh)
7 #define PLUGINSIZE 0x8000
10 #define DRAMSIZE 0x1f0000 - PLUGINSIZE
11 #define ORIGADDR 0x09010000
14 #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE
15 #define ORIGADDR 0x09000000
17 #define ENDADDR (ORIGADDR + DRAMSIZE)
22 ROM : ORIGIN = 0x00020000, LENGTH = 0x1E0000
23 SRAM : ORIGIN = 0x0C000000, LENGTH = 0x40000
25 DRAM : ORIGIN = ORIGADDR, LENGTH = DRAMSIZE
27 IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000
57 .data : AT ( LOADADDR(.romdata) )
64 .iram : AT ( _iramcopy )
93 .mp3end 0x0C040000 - 0x300:
123 /* Pseudo-allocate the copies of the data sections */
127 /* TRICK ALERT! For RAM execution, we put the .data section at the
128 same load address as the copy. Thus, we don't waste extra RAM
129 when we don't actually need the copy. */
130 .data : AT ( _datacopy )
139 .iram 0xf000000 : AT ( _iramcopy)
147 /* TRICK ALERT! We want 0x2000 bytes of stack, but we set the section
148 size smaller, and allow the stack to grow into the .iram copy */
149 .stack ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram):
152 _stackbegin = . - SIZEOF(.iram);
153 . += 0x2000 - SIZEOF(.iram);