This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#7533 - SVN bootloader fails to boot rockbox (H100 & H300)
Attached to Project:
Rockbox
Opened by Alexander Spyridakis (xaviergr) - Saturday, 04 August 2007, 18:10 GMT+2
Last edited by Steve Bavin (pondlife) - Tuesday, 02 October 2007, 09:55 GMT+2
Opened by Alexander Spyridakis (xaviergr) - Saturday, 04 August 2007, 18:10 GMT+2
Last edited by Steve Bavin (pondlife) - Tuesday, 02 October 2007, 09:55 GMT+2
|
DetailsI just tried to flash my H115 with an SVN bootloader (r14180M-070726). It compiled cleanly and produced a valid hex file, which flashed okay on the device.
Fortunately all the crucial parts of the bootloader work. USB bootloader mode and OF loader work just fine. It is just that when you try to start rockbox bootloader will hang in the process of it. After some debugging (putting printfs all over the place) I discovered that the bootloader hangs in ata.c, function ata_hard_reset(void) just after the call to the ata_reset() function. It seems that it hangs on the SET_REG call. I can't debug more on it because obviously I don't know what I am doing and flashing again and again the unit is very tiring and risky. Edit: Today I tested to flash an SVN bootloader on my H300 and I get exactly the same behaviour as the H115. It seems that something is wrong, and it is not target dependant. |
This task depends upon
Closed by Steve Bavin (pondlife)
Tuesday, 02 October 2007, 09:55 GMT+2
Reason for closing: Fixed
Additional comments about closing: I committed LinusN's patch.
Tuesday, 02 October 2007, 09:55 GMT+2
Reason for closing: Fixed
Additional comments about closing: I committed LinusN's patch.
Index: bootloader/main.c
===================================================================
--- bootloader/main.c (revision 12547)
+++ bootloader/main.c (revision 12548)
@@ -41,8 +41,7 @@
#include "file.h"
#include "uda1380.h"
#include "eeprom_settings.h"
-
-#include "pcf50606.h"
+#include "rbunicode.h"
#include "common.h"
#include <stdarg.h>
Well, the issue here is that the ATA timing parameters are set by cpu_set_frequency() on the Coldfire targets.
Line 188 in bootloader/iriver_h300.c:
/* Set up waitstates for the peripherals */
set_cpu_frequency(0); /* PLL off */
The change in config.h removes the call to set_cpu_frequency() and the ATA (and other peripherals, like I2C and timers) are not set up correctly.
"That sounds really odd. This is the change from r12547 to r12548"
I should have clarified that this revision was the last I tested with success, sorry for the confusion.
Thanks Linus for looking into this. I will try to flash it right away.
I just flashed revision 14811 with Linus' patch provided.
Like Steve said. "Commit away!"
I was scared to hell though, at the first boot I got an exception error! (Can't replicate anymore)
commit and release...