__ROM_BASE = ((0x1C000000));
__ROM_SIZE = ((0x00005000));
__ROM_EX_BASE = (0x200B3800);
__ROM_EX_SIZE = (0x00014000);
__ROM2_BASE = (((0x10800000)));
__ROM2_SIZE = (4096*1024);
__ROM3_BASE = (((((((0x10800000)))) + ((4096*1024)) - 1)) + 1);
__ROM3_SIZE = (4096*3*1024);
__RAM_BASE = (0x20000000);
__RAM_SIZE = (0x000B3800);
__PSRAM_BASE = (0x60000000);
__PSRAM_SIZE = (0x00800000);
__STACK_SIZE = 0x00002000;
__HEAP_SIZE = 0x00000C00;
MEMORY
{
    ROM (rx) : ORIGIN = __ROM_BASE, LENGTH = __ROM_SIZE
    RAM (rw) : ORIGIN = __RAM_BASE, LENGTH = __RAM_SIZE
    ROM_EX(rw):ORIGIN = __ROM_EX_BASE, LENGTH = __ROM_EX_SIZE
    PSRAM(rw): ORIGIN = __PSRAM_BASE, LENGTH = __PSRAM_SIZE
    PSRAM2(rw): ORIGIN = (0x60800000), LENGTH = (0x00400000)
    ROM2 (rx): ORIGIN = __ROM2_BASE, LENGTH = __ROM2_SIZE
    ROM3 (rx): ORIGIN = __ROM3_BASE, LENGTH = __ROM3_SIZE
}
ENTRY(Reset_Handler)
SECTIONS
{
  .text :
  {
    KEEP(*ftab.o(.text* .rodata*))
  } > ROM
}
