summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2008-12-04 22:27:48 +0000
committerRafaël Carré <rafael.carre@gmail.com>2008-12-04 22:27:48 +0000
commit6aa807d32170eb463ede46397cb43c1c4088cbe9 (patch)
treebad103ff445aa938ca8e579ab72ccf513122749c /apps
parent8ea82ff4a8b03141c7bc0491dda351dc0645ccd8 (diff)
downloadrockbox-6aa807d32170eb463ede46397cb43c1c4088cbe9.tar.gz
rockbox-6aa807d32170eb463ede46397cb43c1c4088cbe9.zip
Sansa AMS: PCM driver (FS#9592)
Note that on low memory targets (Clip/m200v4 tested) you will encounter random crashes. Applying FS#9332 seems to help a lot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19342 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/plugin.lds14
1 files changed, 14 insertions, 0 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 52ec93833a..0c5c1e87d3 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -37,6 +37,8 @@ OUTPUT_FORMAT(elf32-sh)
37#include "imx31l.h" 37#include "imx31l.h"
38/* Reserve 1mb for LCD buffer/TTB as in app.lds */ 38/* Reserve 1mb for LCD buffer/TTB as in app.lds */
39#define DRAMSIZE (MEMORYSIZE * 0x100000 - 0x100000) - PLUGIN_BUFFER_SIZE - STUBOFFSET - CODEC_SIZE 39#define DRAMSIZE (MEMORYSIZE * 0x100000 - 0x100000) - PLUGIN_BUFFER_SIZE - STUBOFFSET - CODEC_SIZE
40#elif CONFIG_CPU==AS3525 && MEMORYSIZE <= 2
41#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGIN_BUFFER_SIZE - STUBOFFSET
40#else 42#else
41#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGIN_BUFFER_SIZE - STUBOFFSET - CODEC_SIZE 43#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGIN_BUFFER_SIZE - STUBOFFSET - CODEC_SIZE
42#endif 44#endif
@@ -87,17 +89,29 @@ OUTPUT_FORMAT(elf32-sh)
87#define IRAM DRAM 89#define IRAM DRAM
88#define IRAMSIZE 0 90#define IRAMSIZE 0
89#elif CONFIG_CPU==AS3525 91#elif CONFIG_CPU==AS3525
92#if MEMORYSIZE <= 2
93#define IRAMSIZE 0 /* simulates no IRAM since codec is already entirely in IRAM */
94#define CODEC_ORIGIN (0x50000 - CODEC_SIZE)
95#define PLUGIN_ORIGIN (DRAMORIG + DRAMSIZE)
96#else
90#define IRAMORIG 0x0 97#define IRAMORIG 0x0
91#define IRAMSIZE 0x50000 98#define IRAMSIZE 0x50000
99#endif
92#define DRAMORIG 0x30000000 100#define DRAMORIG 0x30000000
101
93#else 102#else
94#define DRAMORIG 0x09000000 + STUBOFFSET 103#define DRAMORIG 0x09000000 + STUBOFFSET
95#endif 104#endif
96 105
97#define PLUGIN_LENGTH PLUGIN_BUFFER_SIZE 106#define PLUGIN_LENGTH PLUGIN_BUFFER_SIZE
98 107
108#ifndef CODEC_ORIGIN /* targets can specify another origin */
99#define CODEC_ORIGIN (DRAMORIG + (DRAMSIZE)) 109#define CODEC_ORIGIN (DRAMORIG + (DRAMSIZE))
110#endif
111
112#ifndef PLUGIN_ORIGIN /* targets can specify another origin */
100#define PLUGIN_ORIGIN (CODEC_ORIGIN + CODEC_SIZE) 113#define PLUGIN_ORIGIN (CODEC_ORIGIN + CODEC_SIZE)
114#endif
101 115
102#ifdef CODEC 116#ifdef CODEC
103#define THIS_LENGTH CODEC_SIZE 117#define THIS_LENGTH CODEC_SIZE