summaryrefslogtreecommitdiff
path: root/firmware/core_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/core_alloc.c')
-rw-r--r--firmware/core_alloc.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/firmware/core_alloc.c b/firmware/core_alloc.c
index df1b4d3213..bf2f8e8298 100644
--- a/firmware/core_alloc.c
+++ b/firmware/core_alloc.c
@@ -8,16 +8,27 @@
8/* not static so it can be discovered by core_get_data() */ 8/* not static so it can be discovered by core_get_data() */
9struct buflib_context core_ctx; 9struct buflib_context core_ctx;
10 10
11/* defined in linker script */
12#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(__PCTOOL__) 11#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(__PCTOOL__)
12
13#if defined(IPOD_VIDEO) && !defined(BOOTLOADER) 13#if defined(IPOD_VIDEO) && !defined(BOOTLOADER)
14/* defined in linker script */
15extern unsigned char audiobuffer[];
14extern unsigned char *audiobufend_lds[]; 16extern unsigned char *audiobufend_lds[];
17/* pointer to end of audio buffer filled at runtime allocator_init */
15unsigned char *audiobufend; 18unsigned char *audiobufend;
16#else /* !IPOD_VIDEO */ 19#elif defined(SANSA_E200) && defined(HAVE_BOOTLOADER_USB_MODE)
17extern unsigned char audiobufend[]; 20/* defined in linker script */
18#endif 21extern unsigned char freebuffer[];
22extern unsigned char freebufferend[];
23/* map linker symbol to the audiobuffer in order to use core_alloc */
24unsigned char *audiobuffer = (unsigned char *)freebuffer;
25unsigned char *audiobufend = (unsigned char *)freebufferend;
26#else /* !IPOD_VIDEO, !SANSA_E200&&BOOTLOADERUSB */
19/* defined in linker script */ 27/* defined in linker script */
20extern unsigned char audiobuffer[]; 28extern unsigned char audiobuffer[];
29extern unsigned char audiobufend[];
30#endif
31
21#else /* PLATFORM_HOSTED */ 32#else /* PLATFORM_HOSTED */
22static unsigned char audiobuffer[((MEMORYSIZE)*1024-768)*1024]; 33static unsigned char audiobuffer[((MEMORYSIZE)*1024-768)*1024];
23unsigned char *audiobufend = audiobuffer + sizeof(audiobuffer); 34unsigned char *audiobufend = audiobuffer + sizeof(audiobuffer);