mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
as3525: bootloader USB mode
not working yet : an empty drive is detected won't link on fuzev1: drivers allocated in usb_storage.c are too large git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26905 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
6470a9ffd1
commit
b812465bff
4 changed files with 38 additions and 2 deletions
|
@ -27,6 +27,11 @@
|
|||
#include <inttypes.h>
|
||||
#include "config.h"
|
||||
#include "lcd.h"
|
||||
#ifdef USE_ROCKBOX_USB
|
||||
#include "usb.h"
|
||||
#include "usb_core.h"
|
||||
#include "sysfont.h"
|
||||
#endif /* USE_ROCKBOX_USB */
|
||||
#include "backlight.h"
|
||||
#include "button-target.h"
|
||||
#include "common.h"
|
||||
|
@ -82,6 +87,29 @@ void main(void)
|
|||
if(ret < 0)
|
||||
error(EATA,ret);
|
||||
|
||||
#ifdef USE_ROCKBOX_USB
|
||||
usb_init();
|
||||
if(usb_detect() == USB_INSERTED)
|
||||
{
|
||||
const char msg[] = "Bootloader USB mode";
|
||||
reset_screen();
|
||||
lcd_putsxy( (LCD_WIDTH - (SYSFONT_WIDTH * sizeof(msg))) / 2,
|
||||
(LCD_HEIGHT - SYSFONT_HEIGHT) / 2, msg);
|
||||
lcd_update();
|
||||
|
||||
usb_core_enable_driver(USB_DRIVER_MASS_STORAGE, true);
|
||||
usb_enable(true);
|
||||
|
||||
while(usb_detect() == USB_INSERTED)
|
||||
sleep(HZ);
|
||||
|
||||
usb_enable(false);
|
||||
|
||||
reset_screen();
|
||||
lcd_update();
|
||||
}
|
||||
#endif /* USE_ROCKBOX_USB */
|
||||
|
||||
if(!disk_init(IF_MV(0)))
|
||||
panicf("disk_init failed!");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue