diff options
author | Barry Wardell <rockbox@barrywardell.net> | 2008-05-05 12:05:00 +0000 |
---|---|---|
committer | Barry Wardell <rockbox@barrywardell.net> | 2008-05-05 12:05:00 +0000 |
commit | 940091ae384e19a1219b10d5aea30c42b3a5da29 (patch) | |
tree | fbb601ee7e9fda75a81591427ca5685779535708 | |
parent | 9560ba66969c5bd7030da99acdf8f6fb34f3bfa0 (diff) | |
download | rockbox-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/SOURCES | 4 | ||||
-rw-r--r-- | apps/bitmaps/remote_native/SOURCES | 4 | ||||
-rw-r--r-- | bootloader/Makefile | 46 | ||||
-rw-r--r-- | bootloader/SOURCES | 1 | ||||
-rw-r--r-- | bootloader/main-pp.c | 20 |
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 | |||
33 | rockboxlogo.320x98x16.bmp | 33 | rockboxlogo.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 | |||
63 | default_icons.6x8x1.bmp | 65 | default_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) |
4 | remote_rockboxlogo.128x42x1.bmp | 6 | remote_rockboxlogo.128x42x1.bmp |
5 | remote_usblogo.104x27x1.bmp | 7 | remote_usblogo.104x27x1.bmp |
@@ -10,4 +12,6 @@ remote_usblogo.104x27x2.bmp | |||
10 | remote_default_icons.6x8x2.bmp | 12 | remote_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 | ||
10 | INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(OBJDIR) \ | 10 | INCLUDES= $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I. -I$(OBJDIR) \ |
11 | -I$(BUILDDIR) | 11 | -I$(BUILDDIR) -I$(BUILDDIR)/bitmaps |
12 | 12 | ||
13 | DEPFILE = $(OBJDIR)/dep-bootloader | 13 | DEPFILE = $(OBJDIR)/dep-bootloader |
14 | LDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/boot.lds | 14 | LDS := $(FIRMDIR)/target/$(CPU)/$(MANUFACTURER)/boot.lds |
15 | 15 | ||
16 | # Set up the bitmap libraries | ||
17 | BITMAPLIBS = | ||
18 | LINKBITMAPS = | ||
19 | ifneq ($(strip $(BMP2RB_MONO)),) | ||
20 | BITMAPLIBS += $(BUILDDIR)/libbitmapsmono.a | ||
21 | LINKBITMAPS += -lbitmapsmono | ||
22 | endif | ||
23 | ifneq ($(strip $(BMP2RB_NATIVE)),) | ||
24 | BITMAPLIBS += $(BUILDDIR)/libbitmapsnative.a | ||
25 | LINKBITMAPS += -lbitmapsnative | ||
26 | endif | ||
27 | ifneq ($(strip $(BMP2RB_REMOTEMONO)),) | ||
28 | BITMAPLIBS += $(BUILDDIR)/libbitmapsremotemono.a | ||
29 | LINKBITMAPS += -lbitmapsremotemono | ||
30 | endif | ||
31 | ifneq ($(strip $(BMP2RB_REMOTENATIVE)),) | ||
32 | BITMAPLIBS += $(BUILDDIR)/libbitmapsremotenative.a | ||
33 | LINKBITMAPS += -lbitmapsremotenative | ||
34 | endif | ||
35 | |||
16 | ifdef DEBUG | 36 | ifdef DEBUG |
17 | DEFINES := -DDEBUG | 37 | DEFINES := -DDEBUG |
18 | CFLAGS += -g | 38 | CFLAGS += -g |
@@ -47,6 +67,8 @@ else | |||
47 | all: $(BUILDDIR)/$(BINARY) $(FLASHFILE) | 67 | all: $(BUILDDIR)/$(BINARY) $(FLASHFILE) |
48 | endif | 68 | endif |
49 | 69 | ||
70 | $(DEPFILE): $(BITMAPLIBS) | ||
71 | |||
50 | dep: $(DEPFILE) | 72 | dep: $(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) | 83 | build-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 | |||
86 | build-bitmapsnative: | ||
87 | $(call PRINTS,MAKE in bitmaps/native)$(MAKE) -C ../apps/bitmaps/native OBJDIR=$(OBJDIR)/bitmaps/native | ||
88 | |||
89 | build-bitmapsremotemono: | ||
90 | $(call PRINTS,MAKE in bitmaps/remote_mono)$(MAKE) -C ../apps/bitmaps/remote_mono OBJDIR=$(OBJDIR)/bitmaps/remote_mono | ||
91 | |||
92 | build-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 |
14 | main-e200r-installer.c | 14 | main-e200r-installer.c |
15 | #else | 15 | #else |
16 | show_logo.c | ||
16 | main-pp.c | 17 | main-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 */ | ||
47 | extern 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) |