Sansa E200v1 Bootloader attempt at enabling USB in boot loader
there is a 1MB free region that is used to load the firmware but we shouldn't need that till after a USB connection so here is my 2nd try Change-Id: I2552db3a7fba019d7e7188984432f758ddafe548
This commit is contained in:
parent
75524a7eec
commit
7c67a48332
|
@ -51,6 +51,9 @@
|
||||||
#if defined(SANSA_E200) || defined(SANSA_C200) || defined(PHILIPS_SA9200)
|
#if defined(SANSA_E200) || defined(SANSA_C200) || defined(PHILIPS_SA9200)
|
||||||
#include "usb_drv.h"
|
#include "usb_drv.h"
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(SANSA_E200) && defined(HAVE_BOOTLOADER_USB_MODE)
|
||||||
|
#include "core_alloc.h"
|
||||||
|
#endif
|
||||||
#if defined(SAMSUNG_YH925)
|
#if defined(SAMSUNG_YH925)
|
||||||
/* this function (in lcd-yh925.c) resets the screen orientation for the OF
|
/* this function (in lcd-yh925.c) resets the screen orientation for the OF
|
||||||
* for use with dualbooting */
|
* for use with dualbooting */
|
||||||
|
@ -232,7 +235,6 @@ static int handle_usb(int connect_timeout)
|
||||||
usb = USB_HANDLED;
|
usb = USB_HANDLED;
|
||||||
usb_acknowledge(SYS_USB_CONNECTED_ACK);
|
usb_acknowledge(SYS_USB_CONNECTED_ACK);
|
||||||
usb_wait_for_disconnect(&q);
|
usb_wait_for_disconnect(&q);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (connect_timeout != TIMEOUT_BLOCK &&
|
if (connect_timeout != TIMEOUT_BLOCK &&
|
||||||
|
@ -299,6 +301,9 @@ void* main(void)
|
||||||
int usb = USB_EXTRACTED;
|
int usb = USB_EXTRACTED;
|
||||||
|
|
||||||
system_init();
|
system_init();
|
||||||
|
#if defined(SANSA_E200) && defined(HAVE_BOOTLOADER_USB_MODE)
|
||||||
|
core_allocator_init();
|
||||||
|
#endif
|
||||||
kernel_init();
|
kernel_init();
|
||||||
|
|
||||||
#ifdef HAVE_BOOTLOADER_USB_MODE
|
#ifdef HAVE_BOOTLOADER_USB_MODE
|
||||||
|
|
|
@ -8,16 +8,27 @@
|
||||||
/* not static so it can be discovered by core_get_data() */
|
/* not static so it can be discovered by core_get_data() */
|
||||||
struct buflib_context core_ctx;
|
struct buflib_context core_ctx;
|
||||||
|
|
||||||
/* defined in linker script */
|
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(__PCTOOL__)
|
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && !defined(__PCTOOL__)
|
||||||
|
|
||||||
#if defined(IPOD_VIDEO) && !defined(BOOTLOADER)
|
#if defined(IPOD_VIDEO) && !defined(BOOTLOADER)
|
||||||
extern unsigned char *audiobufend_lds[];
|
|
||||||
unsigned char *audiobufend;
|
|
||||||
#else /* !IPOD_VIDEO */
|
|
||||||
extern unsigned char audiobufend[];
|
|
||||||
#endif
|
|
||||||
/* defined in linker script */
|
/* defined in linker script */
|
||||||
extern unsigned char audiobuffer[];
|
extern unsigned char audiobuffer[];
|
||||||
|
extern unsigned char *audiobufend_lds[];
|
||||||
|
/* pointer to end of audio buffer filled at runtime allocator_init */
|
||||||
|
unsigned char *audiobufend;
|
||||||
|
#elif defined(SANSA_E200) && defined(HAVE_BOOTLOADER_USB_MODE)
|
||||||
|
/* defined in linker script */
|
||||||
|
extern unsigned char freebuffer[];
|
||||||
|
extern unsigned char freebufferend[];
|
||||||
|
/* map linker symbol to the audiobuffer in order to use core_alloc */
|
||||||
|
unsigned char *audiobuffer = (unsigned char *)freebuffer;
|
||||||
|
unsigned char *audiobufend = (unsigned char *)freebufferend;
|
||||||
|
#else /* !IPOD_VIDEO, !SANSA_E200&&BOOTLOADERUSB */
|
||||||
|
/* defined in linker script */
|
||||||
|
extern unsigned char audiobuffer[];
|
||||||
|
extern unsigned char audiobufend[];
|
||||||
|
#endif
|
||||||
|
|
||||||
#else /* PLATFORM_HOSTED */
|
#else /* PLATFORM_HOSTED */
|
||||||
static unsigned char audiobuffer[((MEMORYSIZE)*1024-768)*1024];
|
static unsigned char audiobuffer[((MEMORYSIZE)*1024-768)*1024];
|
||||||
unsigned char *audiobufend = audiobuffer + sizeof(audiobuffer);
|
unsigned char *audiobufend = audiobuffer + sizeof(audiobuffer);
|
||||||
|
|
Loading…
Reference in New Issue