From bac611868e499aadf58bfcc3a64e5c80eecf40bd Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Fri, 10 Apr 2009 17:00:23 +0000 Subject: [PATCH] =?UTF-8?q?FS#10114=20-=20Sansa=20AMS=20:=20use=20IRAM=20f?= =?UTF-8?q?or=20codecs=20on=20>2MB=20targets=20Rafa=C3=ABl=20Carr=C3=A9=20?= =?UTF-8?q?Activates=20IRAM=20for=20AMS=20Sansas=20to=20be=20used=20by=20c?= =?UTF-8?q?odecs=20and=20core.=20Fixes=20Reboot-on-mp3=20and=20gives=20spe?= =?UTF-8?q?ed=20up=20on=20codecs=20using=20IRAM=20in=20general.=20I've=20m?= =?UTF-8?q?ade=20a=20change:=20the=20core/codec=20ratio=20is=200x20000/0x3?= =?UTF-8?q?0000=20instead=20of=200x10000/0x40000,=200x30000=20is=20way=20m?= =?UTF-8?q?ore=20than=20codecs=20currently=20use=20(0x14000=20at=20max)=20?= =?UTF-8?q?and=20the=20core=20might=20need=20more=20than=200x10000.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20678 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/plugin.lds | 4 ++-- firmware/export/config.h | 1 + firmware/target/arm/as3525/app.lds | 10 ++++------ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index d6f62341ce..46c4ad64c3 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds @@ -100,8 +100,8 @@ OUTPUT_FORMAT(elf32-littlemips) #define CODEC_ORIGIN (0x50000 - CODEC_SIZE) #define PLUGIN_ORIGIN (DRAMORIG + DRAMSIZE) #else -#define IRAMORIG 0x0 -#define IRAMSIZE 0x50000 +#define IRAMORIG 0x20000 +#define IRAMSIZE 0x30000 #endif #define DRAMORIG 0x30000000 diff --git a/firmware/export/config.h b/firmware/export/config.h index 3b3333b11a..ac60e9660e 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -625,6 +625,7 @@ Lyre prototype 1*/ (((CONFIG_CPU == SH7034) && !defined(PLUGIN)) || /* SH1 archos: core only */ \ defined(CPU_COLDFIRE) || /* Coldfire: core, plugins, codecs */ \ defined(CPU_PP) || /* PortalPlayer: core, plugins, codecs */ \ + (CONFIG_CPU == AS3525 && MEMORYSIZE > 2) || \ (CONFIG_CPU == PNX0101) || \ (CONFIG_CPU == S5L8700)) /* Samsung S5L8700: core, plugins, codecs */ #define ICODE_ATTR __attribute__ ((section(".icode"))) diff --git a/firmware/target/arm/as3525/app.lds b/firmware/target/arm/as3525/app.lds index 09844a1aab..7f37cc5d7c 100644 --- a/firmware/target/arm/as3525/app.lds +++ b/firmware/target/arm/as3525/app.lds @@ -22,14 +22,14 @@ STARTUP(target/arm/crt0.o) #include "cpu.h" -#define IRAMSIZE 0x50000 - #ifdef LOWMEM #define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE -#define CODECORIG (IRAMORIG + IRAMSIZE - CODEC_SIZE) +#define CODECORIG (IRAMORIG + 0x50000 - CODEC_SIZE) +#define IRAMSIZE (0x50000 - CODEC_SIZE) #else #define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE - CODECSIZE #define CODECORIG (ENDAUDIOADDR) +#define IRAMSIZE (0x20000) #endif #define IRAMORIG 0x0 @@ -48,11 +48,9 @@ STARTUP(target/arm/crt0.o) MEMORY { #ifdef LOWMEM - IRAM : ORIGIN = IRAMORIG, LENGTH = (IRAMSIZE - CODEC_SIZE) CODEC_IRAM : ORIGIN = CODECORIG, LENGTH = CODEC_SIZE -#else - IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE #endif + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE }