diff options
Diffstat (limited to 'firmware/app.lds')
-rw-r--r-- | firmware/app.lds | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index 0ca137ab89..06df52de96 100644 --- a/firmware/app.lds +++ b/firmware/app.lds @@ -101,21 +101,25 @@ _pluginbuf = 0; #else - - #if MEMORYSIZE >= 32 #define PLUGINSIZE 0xC0000 #else #define PLUGINSIZE 0x8000 #endif +#if CONFIG_HWCODEC == MASNONE +#define CODECSIZE 0x3C000 +#else +#define CODECSIZE 0 +#endif + #ifdef DEBUG #define STUBOFFSET 0x10000 #else #define STUBOFFSET 0 #endif -#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET +#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE #if CONFIG_CPU == MCF5249 #define DRAMORIG 0x31000000 + STUBOFFSET @@ -127,7 +131,11 @@ _pluginbuf = 0; #define IRAMSIZE 0x1000 #endif -#define ENDADDR (DRAMORIG + DRAMSIZE) +/* End of the audio buffer, where the codec buffer starts */ +#define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) + +/* Where the codec buffer ends, and the plugin buffer starts */ +#define ENDADDR (ENDAUDIOADDR + CODECSIZE) MEMORY { @@ -226,12 +234,18 @@ SECTIONS audiobuffer = .; } > DRAM - .audiobufend ENDADDR: + .audiobufend ENDAUDIOADDR: { audiobufend = .; _audiobufend = .; } > DRAM + .codec ENDAUDIOADDR: + { + codecbuf = .; + _codecbuf = .; + } + .plugin ENDADDR: { _pluginbuf = .; |