summaryrefslogtreecommitdiff
path: root/firmware/app.lds
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/app.lds')
-rw-r--r--firmware/app.lds24
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 = .;