5 OUTPUT_FORMAT(elf32-littlearm)
7 STARTUP(target/arm/pnx0101/crt0-pnx0101.o)
9 #define PLUGINSIZE PLUGIN_BUFFER_SIZE
10 #define CODECSIZE CODEC_SIZE
13 #define STUBOFFSET 0x10000
18 #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE
20 #define DRAMORIG 0xc00000 + STUBOFFSET
21 #define IRAM0ORIG 0x000000
22 #define IRAM0SIZE 0x7000
23 #define IRAMORIG 0x400000
24 #define IRAMSIZE 0x7000
26 /* End of the audio buffer, where the codec buffer starts */
27 #define ENDAUDIOADDR (DRAMORIG + DRAMSIZE)
29 /* Where the codec buffer ends, and the plugin buffer starts */
30 #define ENDADDR (ENDAUDIOADDR + CODECSIZE)
34 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
35 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
36 IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE
55 *(.rodata) /* problems without this, dunno why */
61 /* Pseudo-allocate the copies of the data sections */
65 /* TRICK ALERT! For RAM execution, we put the .data section at the
66 same load address as the copy. Thus, we don't waste extra RAM
67 when we don't actually need the copy. */
68 .data : AT ( _datacopy )
89 _vectorscopy = LOADADDR(.vectors);
91 .iram IRAMORIG + SIZEOF(.vectors) :
101 _iramcopy = LOADADDR(.iram);
119 .bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram) + SIZEOF(.vectors):
134 .audiobufend ENDAUDIOADDR: