diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2007-01-18 10:07:07 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2007-01-18 10:07:07 +0000 |
commit | 97d59dd38c6cb65d75efd09efd9be6846f6921a0 (patch) | |
tree | a2d02238ff9fc5ff882fc3daca6c024a00a163bc /bootloader | |
parent | 024537d5b6098434a4856e84b2c43ee306c578de (diff) | |
download | rockbox-97d59dd38c6cb65d75efd09efd9be6846f6921a0.tar.gz rockbox-97d59dd38c6cb65d75efd09efd9be6846f6921a0.zip |
Verbose error messages in the iPod bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12064 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'bootloader')
-rw-r--r-- | bootloader/ipod.c | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/bootloader/ipod.c b/bootloader/ipod.c index 8b99fbd1ad..b1b3114ac9 100644 --- a/bootloader/ipod.c +++ b/bootloader/ipod.c | |||
@@ -157,6 +157,29 @@ int opto_keypad_read(void) | |||
157 | } | 157 | } |
158 | #endif | 158 | #endif |
159 | 159 | ||
160 | char *strerror(int error) | ||
161 | { | ||
162 | switch(error) | ||
163 | { | ||
164 | case 0: | ||
165 | return "OK"; | ||
166 | case -1: | ||
167 | return "File not found"; | ||
168 | case -2: | ||
169 | return "Read failed (chksum)"; | ||
170 | case -3: | ||
171 | return "Read failed (model)"; | ||
172 | case -4: | ||
173 | return "Read failed (image)"; | ||
174 | case -5: | ||
175 | return "Bad checksum"; | ||
176 | case -6: | ||
177 | return "File too big"; | ||
178 | default: | ||
179 | return "Unknown"; | ||
180 | } | ||
181 | } | ||
182 | |||
160 | char printfbuf[256]; | 183 | char printfbuf[256]; |
161 | 184 | ||
162 | void reset_screen(void) | 185 | void reset_screen(void) |
@@ -448,7 +471,9 @@ void* main(void) | |||
448 | printf("Loading Rockbox..."); | 471 | printf("Loading Rockbox..."); |
449 | rc=load_rockbox(loadbuffer, BOOTFILE); | 472 | rc=load_rockbox(loadbuffer, BOOTFILE); |
450 | if (rc < 0) { | 473 | if (rc < 0) { |
451 | printf("Rockbox error: %d",rc); | 474 | printf("Error!"); |
475 | printf("Can't load rockbox.ipod:"); | ||
476 | printf(strerror(rc)); | ||
452 | } else { | 477 | } else { |
453 | printf("Rockbox loaded."); | 478 | printf("Rockbox loaded."); |
454 | memcpy((void*)DRAM_START,loadbuffer,rc); | 479 | memcpy((void*)DRAM_START,loadbuffer,rc); |
@@ -460,7 +485,9 @@ void* main(void) | |||
460 | printf("Loading Linux..."); | 485 | printf("Loading Linux..."); |
461 | rc=load_linux(loadbuffer); | 486 | rc=load_linux(loadbuffer); |
462 | if (rc < 0) { | 487 | if (rc < 0) { |
463 | printf("Linux error: %d",rc); | 488 | printf("Error!"); |
489 | printf("Can't load linux.bin:"); | ||
490 | printf(strerror(rc)); | ||
464 | } else { | 491 | } else { |
465 | memcpy((void*)DRAM_START,loadbuffer,rc); | 492 | memcpy((void*)DRAM_START,loadbuffer,rc); |
466 | return (void*)DRAM_START; | 493 | return (void*)DRAM_START; |
@@ -482,7 +509,9 @@ void* main(void) | |||
482 | 509 | ||
483 | /* Only report errors if the file was found */ | 510 | /* Only report errors if the file was found */ |
484 | if (rc < -1) { | 511 | if (rc < -1) { |
485 | printf("apple_os.ipod error: %d",rc); | 512 | printf("Error!"); |
513 | printf("Can't load apple_os.ipod:"); | ||
514 | printf(strerror(rc)); | ||
486 | } else if (rc > 0) { | 515 | } else if (rc > 0) { |
487 | printf("apple_os.ipod loaded."); | 516 | printf("apple_os.ipod loaded."); |
488 | memcpy((void*)DRAM_START,loadbuffer,rc); | 517 | memcpy((void*)DRAM_START,loadbuffer,rc); |