summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-04-10 17:00:23 +0000
committerThomas Martitz <kugel@rockbox.org>2009-04-10 17:00:23 +0000
commitbac611868e499aadf58bfcc3a64e5c80eecf40bd (patch)
treed2b4b920ef3793afac7175258149f3695cdfd4f5
parent0eb9288056ac73b40f47d82b807e16b48f45292a (diff)
downloadrockbox-bac611868e499aadf58bfcc3a64e5c80eecf40bd.tar.gz
rockbox-bac611868e499aadf58bfcc3a64e5c80eecf40bd.zip
FS#10114 - Sansa AMS : use IRAM for codecs on >2MB targets Rafaël Carré
Activates IRAM for AMS Sansas to be used by codecs and core. Fixes Reboot-on-mp3 and gives speed up on codecs using IRAM in general. I've made a change: the core/codec ratio is 0x20000/0x30000 instead of 0x10000/0x40000, 0x30000 is way more than codecs currently use (0x14000 at max) and the core might need more than 0x10000. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20678 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/plugin.lds4
-rw-r--r--firmware/export/config.h1
-rw-r--r--firmware/target/arm/as3525/app.lds10
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)
100#define CODEC_ORIGIN (0x50000 - CODEC_SIZE) 100#define CODEC_ORIGIN (0x50000 - CODEC_SIZE)
101#define PLUGIN_ORIGIN (DRAMORIG + DRAMSIZE) 101#define PLUGIN_ORIGIN (DRAMORIG + DRAMSIZE)
102#else 102#else
103#define IRAMORIG 0x0 103#define IRAMORIG 0x20000
104#define IRAMSIZE 0x50000 104#define IRAMSIZE 0x30000
105#endif 105#endif
106#define DRAMORIG 0x30000000 106#define DRAMORIG 0x30000000
107 107
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*/
625 (((CONFIG_CPU == SH7034) && !defined(PLUGIN)) || /* SH1 archos: core only */ \ 625 (((CONFIG_CPU == SH7034) && !defined(PLUGIN)) || /* SH1 archos: core only */ \
626 defined(CPU_COLDFIRE) || /* Coldfire: core, plugins, codecs */ \ 626 defined(CPU_COLDFIRE) || /* Coldfire: core, plugins, codecs */ \
627 defined(CPU_PP) || /* PortalPlayer: core, plugins, codecs */ \ 627 defined(CPU_PP) || /* PortalPlayer: core, plugins, codecs */ \
628 (CONFIG_CPU == AS3525 && MEMORYSIZE > 2) || \
628 (CONFIG_CPU == PNX0101) || \ 629 (CONFIG_CPU == PNX0101) || \
629 (CONFIG_CPU == S5L8700)) /* Samsung S5L8700: core, plugins, codecs */ 630 (CONFIG_CPU == S5L8700)) /* Samsung S5L8700: core, plugins, codecs */
630#define ICODE_ATTR __attribute__ ((section(".icode"))) 631#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)
22 22
23#include "cpu.h" 23#include "cpu.h"
24 24
25#define IRAMSIZE 0x50000
26
27#ifdef LOWMEM 25#ifdef LOWMEM
28#define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE 26#define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE
29#define CODECORIG (IRAMORIG + IRAMSIZE - CODEC_SIZE) 27#define CODECORIG (IRAMORIG + 0x50000 - CODEC_SIZE)
28#define IRAMSIZE (0x50000 - CODEC_SIZE)
30#else 29#else
31#define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE - CODECSIZE 30#define DRAMSIZE (MEMORYSIZE * 0x100000) - STUBOFFSET - PLUGINSIZE - CODECSIZE
32#define CODECORIG (ENDAUDIOADDR) 31#define CODECORIG (ENDAUDIOADDR)
32#define IRAMSIZE (0x20000)
33#endif 33#endif
34 34
35#define IRAMORIG 0x0 35#define IRAMORIG 0x0
@@ -48,11 +48,9 @@ STARTUP(target/arm/crt0.o)
48MEMORY 48MEMORY
49{ 49{
50#ifdef LOWMEM 50#ifdef LOWMEM
51 IRAM : ORIGIN = IRAMORIG, LENGTH = (IRAMSIZE - CODEC_SIZE)
52 CODEC_IRAM : ORIGIN = CODECORIG, LENGTH = CODEC_SIZE 51 CODEC_IRAM : ORIGIN = CODECORIG, LENGTH = CODEC_SIZE
53#else
54 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
55#endif 52#endif
53 IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
56 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE 54 DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
57} 55}
58 56