From ecf2f747edae9ffc3eb0057958da41915cbfac19 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Wed, 22 Jun 2005 02:47:54 +0000 Subject: Daniel's fix that loads codecs in their own memory space git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6794 a1c6a512-1295-4272-9138-f99709370657 --- firmware/app.lds | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'firmware/app.lds') 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 = .; -- cgit v1.2.3