summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarry Wardell <rockbox@barrywardell.net>2008-05-05 12:05:00 +0000
committerBarry Wardell <rockbox@barrywardell.net>2008-05-05 12:05:00 +0000
commit940091ae384e19a1219b10d5aea30c42b3a5da29 (patch)
treefbb601ee7e9fda75a81591427ca5685779535708
parent9560ba66969c5bd7030da99acdf8f6fb34f3bfa0 (diff)
downloadrockbox-940091ae384e19a1219b10d5aea30c42b3a5da29.tar.gz
rockbox-940091ae384e19a1219b10d5aea30c42b3a5da29.zip
FS#7977: Bootloader logo for PP-based targets (H10, Sansa, M-Robe 100).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17374 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/bitmaps/native/SOURCES4
-rw-r--r--apps/bitmaps/remote_native/SOURCES4
-rw-r--r--bootloader/Makefile46
-rw-r--r--bootloader/SOURCES1
-rw-r--r--bootloader/main-pp.c20
5 files changed, 66 insertions, 9 deletions
diff --git a/apps/bitmaps/native/SOURCES b/apps/bitmaps/native/SOURCES
index 967318b0eb..9ad0dbf2c5 100644
--- a/apps/bitmaps/native/SOURCES
+++ b/apps/bitmaps/native/SOURCES
@@ -33,6 +33,8 @@ rockboxlogo.240x74x16.bmp
33rockboxlogo.320x98x16.bmp 33rockboxlogo.320x98x16.bmp
34#endif 34#endif
35 35
36#ifndef BOOTLOADER /* We don't need these for the bootloader */
37
36/* USB logo */ 38/* USB logo */
37#ifdef HAVE_LCD_COLOR 39#ifdef HAVE_LCD_COLOR
38#if LCD_WIDTH > 176 40#if LCD_WIDTH > 176
@@ -63,4 +65,6 @@ default_icons.6x8x2.bmp
63default_icons.6x8x1.bmp 65default_icons.6x8x1.bmp
64#endif 66#endif
65 67
68#endif /* BOOTLOADER */
69
66#endif /* HAVE_LCD_BITMAP */ 70#endif /* HAVE_LCD_BITMAP */
diff --git a/apps/bitmaps/remote_native/SOURCES b/apps/bitmaps/remote_native/SOURCES
index 2692179d5a..02d1b542b2 100644
--- a/apps/bitmaps/remote_native/SOURCES
+++ b/apps/bitmaps/remote_native/SOURCES
@@ -1,5 +1,7 @@
1#ifdef HAVE_REMOTE_LCD 1#ifdef HAVE_REMOTE_LCD
2 2
3#ifndef BOOTLOADER /* We don't need these for the bootloader */
4
3#if (LCD_REMOTE_DEPTH == 1) 5#if (LCD_REMOTE_DEPTH == 1)
4remote_rockboxlogo.128x42x1.bmp 6remote_rockboxlogo.128x42x1.bmp
5remote_usblogo.104x27x1.bmp 7remote_usblogo.104x27x1.bmp
@@ -10,4 +12,6 @@ remote_usblogo.104x27x2.bmp
10remote_default_icons.6x8x2.bmp 12remote_default_icons.6x8x2.bmp
11#endif 13#endif
12 14
15#endif /* BOOTLOADER */
16
13#endif /* HAVE_REMOTE_LCD */ 17#endif /* HAVE_REMOTE_LCD */
diff --git a/bootloader/Makefile b/bootloader/Makefile
index dd60a228f5..796cd9ae2c 100644
--- a/bootloader/Makefile
+++ b/bootloader/Makefile
@@ -8,11 +8,31 @@
8# 8#
9 9
10INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(OBJDIR) \ 10INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(OBJDIR) \
11 -I$(BUILDDIR) 11 -I$(BUILDDIR) -I$(BUILDDIR)/bitmaps
12 12
13DEPFILE = $(OBJDIR)/dep-bootloader 13DEPFILE = $(OBJDIR)/dep-bootloader
14LDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/boot.lds 14LDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/boot.lds
15 15
16# Set up the bitmap libraries
17BITMAPLIBS =
18LINKBITMAPS =
19ifneq ($(strip $(BMP2RB_MONO)),)
20 BITMAPLIBS += $(BUILDDIR)/libbitmapsmono.a
21 LINKBITMAPS += -lbitmapsmono
22endif
23ifneq ($(strip $(BMP2RB_NATIVE)),)
24 BITMAPLIBS += $(BUILDDIR)/libbitmapsnative.a
25 LINKBITMAPS += -lbitmapsnative
26endif
27ifneq ($(strip $(BMP2RB_REMOTEMONO)),)
28 BITMAPLIBS += $(BUILDDIR)/libbitmapsremotemono.a
29 LINKBITMAPS += -lbitmapsremotemono
30endif
31ifneq ($(strip $(BMP2RB_REMOTENATIVE)),)
32 BITMAPLIBS += $(BUILDDIR)/libbitmapsremotenative.a
33 LINKBITMAPS += -lbitmapsremotenative
34endif
35
16ifdef DEBUG 36ifdef DEBUG
17 DEFINES := -DDEBUG 37 DEFINES := -DDEBUG
18 CFLAGS += -g 38 CFLAGS += -g
@@ -47,6 +67,8 @@ else
47all: $(BUILDDIR)/$(BINARY) $(FLASHFILE) 67all: $(BUILDDIR)/$(BINARY) $(FLASHFILE)
48endif 68endif
49 69
70$(DEPFILE): $(BITMAPLIBS)
71
50dep: $(DEPFILE) 72dep: $(DEPFILE)
51 73
52$(LINKFILE): $(LDS) 74$(LINKFILE): $(LDS)
@@ -58,8 +80,22 @@ $(MAXOUTFILE):
58 $(SILENT)cat $(MAXINFILE) | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - > $(MAXOUTFILE) 80 $(SILENT)cat $(MAXINFILE) | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) $(INCLUDES) $(TARGET) $(DEFINES) -E -P $(ROMBUILD) - > $(MAXOUTFILE)
59 $(SILENT)rm $(MAXINFILE) 81 $(SILENT)rm $(MAXINFILE)
60 82
61$(OBJDIR)/bootloader.elf : $(OBJS) $(LINKFILE) $(DEPFILE) $(LIBROCKBOX) 83build-bitmapsmono:
62 $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Wl,--gc-sections -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR) -L$(BUILDDIR)/firmware -lrockbox -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/bootloader.map 84 $(call PRINTS,MAKE in bitmaps/mono)$(MAKE) -C ../apps/bitmaps/mono OBJDIR=$(OBJDIR)/bitmaps/mono
85
86build-bitmapsnative:
87 $(call PRINTS,MAKE in bitmaps/native)$(MAKE) -C ../apps/bitmaps/native OBJDIR=$(OBJDIR)/bitmaps/native
88
89build-bitmapsremotemono:
90 $(call PRINTS,MAKE in bitmaps/remote_mono)$(MAKE) -C ../apps/bitmaps/remote_mono OBJDIR=$(OBJDIR)/bitmaps/remote_mono
91
92build-bitmapsremotenative:
93 $(call PRINTS,MAKE in bitmaps/remote_native)$(MAKE) -C ../apps/bitmaps/remote_native OBJDIR=$(OBJDIR)/bitmaps/remote_native
94
95$(BITMAPLIBS): $(BUILDDIR)/lib%.a: build-%
96
97$(OBJDIR)/bootloader.elf : $(OBJS) $(LINKFILE) $(DEPFILE) $(LIBROCKBOX) $(BITMAPLIBS)
98 $(call PRINTS,LD $(@F))$(CC) $(GCCOPTS) -Wl,--gc-sections -Os -nostdlib -o $@ $(OBJS) -L$(BUILDDIR) -L$(BUILDDIR)/firmware -lrockbox $(LINKBITMAPS) -lgcc -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/bootloader.map
63 99
64$(OBJDIR)/bootloader.bin : $(OBJDIR)/bootloader.elf 100$(OBJDIR)/bootloader.bin : $(OBJDIR)/bootloader.elf
65 $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@ 101 $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@
@@ -76,5 +112,9 @@ clean:
76 $(call PRINTS,cleaning bootloader)-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/bootloader.asm \ 112 $(call PRINTS,cleaning bootloader)-rm -f $(OBJS) $(BUILDDIR)/$(BINARY) $(OBJDIR)/bootloader.asm \
77 $(OBJDIR)/bootloader.bin $(OBJDIR)/bootloader.elf $(OBJDIR)/*.map \ 113 $(OBJDIR)/bootloader.bin $(OBJDIR)/bootloader.elf $(OBJDIR)/*.map \
78 $(LINKFILE) $(MAXOUTFILE) $(DEPFILE) 114 $(LINKFILE) $(MAXOUTFILE) $(DEPFILE)
115 $(SILENT)$(MAKE) -C bitmaps/mono clean OBJDIR=$(OBJDIR)/bitmaps/mono
116 $(SILENT)$(MAKE) -C bitmaps/native clean OBJDIR=$(OBJDIR)/bitmaps/native
117 $(SILENT)$(MAKE) -C bitmaps/remote_mono clean OBJDIR=$(OBJDIR)/bitmaps/remote_mono
118 $(SILENT)$(MAKE) -C bitmaps/remote_native clean OBJDIR=$(OBJDIR)/bitmaps/remote_native
79 119
80-include $(DEPFILE) 120-include $(DEPFILE)
diff --git a/bootloader/SOURCES b/bootloader/SOURCES
index 9e961eeb29..40b2f5dc2a 100644
--- a/bootloader/SOURCES
+++ b/bootloader/SOURCES
@@ -13,6 +13,7 @@ gigabeat-s.c
13#ifdef E200R_INSTALLER 13#ifdef E200R_INSTALLER
14main-e200r-installer.c 14main-e200r-installer.c
15#else 15#else
16show_logo.c
16main-pp.c 17main-pp.c
17#endif 18#endif
18#elif defined(ELIO_TPJ1022) 19#elif defined(ELIO_TPJ1022)
diff --git a/bootloader/main-pp.c b/bootloader/main-pp.c
index c6063cffb5..f4184829e0 100644
--- a/bootloader/main-pp.c
+++ b/bootloader/main-pp.c
@@ -43,6 +43,8 @@
43#include "usb_drv.h" 43#include "usb_drv.h"
44#endif 44#endif
45 45
46/* Show the Rockbox logo - in show_logo.c */
47extern int show_logo(void);
46 48
47/* Button definitions */ 49/* Button definitions */
48#if CONFIG_KEYPAD == IRIVER_H10_PAD 50#if CONFIG_KEYPAD == IRIVER_H10_PAD
@@ -442,23 +444,27 @@ void* main(void)
442 444
443 system_init(); 445 system_init();
444 kernel_init(); 446 kernel_init();
447
445 lcd_init(); 448 lcd_init();
449#if LCD_DEPTH > 1
450 lcd_set_foreground(LCD_WHITE);
451 lcd_set_background(LCD_BLACK);
452#endif
453
446 font_init(); 454 font_init();
455 show_logo();
456
447 button_init(); 457 button_init();
448#if defined(SANSA_E200) 458#if defined(SANSA_E200)
449 i2c_init(); 459 i2c_init();
450 _backlight_on(); 460 _backlight_on();
451#endif 461#endif
452 462
453#if LCD_DEPTH > 1
454 lcd_set_foreground(LCD_WHITE);
455 lcd_set_background(LCD_BLACK);
456#endif
457 lcd_clear_display();
458 463
459 if (button_hold()) 464 if (button_hold())
460 { 465 {
461 verbose = true; 466 verbose = true;
467 lcd_clear_display();
462 printf("Hold switch on"); 468 printf("Hold switch on");
463 printf("Shutting down..."); 469 printf("Shutting down...");
464 sleep(HZ); 470 sleep(HZ);
@@ -468,8 +474,10 @@ void* main(void)
468 btn = button_read_device(); 474 btn = button_read_device();
469 475
470 /* Enable bootloader messages if any button is pressed */ 476 /* Enable bootloader messages if any button is pressed */
471 if (btn) 477 if (btn) {
478 lcd_clear_display();
472 verbose = true; 479 verbose = true;
480 }
473 481
474#if defined(SANSA_E200) || defined(SANSA_C200) 482#if defined(SANSA_E200) || defined(SANSA_C200)
475#if !defined(USE_ROCKBOX_USB) 483#if !defined(USE_ROCKBOX_USB)