Welcome to the Rockbox Technical Forums!
I want to know if anyone can recommend the best way for me to get started and contribute working on/assisting this port.
Boot loaderThe integrated Bootloader which is located in the on-chip ROMsupports direct boot fromâ€¢ NandFlashâ€¢ IDEâ€¢ serial NorFlashâ€¢ SPI masterThe boot loader also supports initial firmware programming andfield firmware update by connecting the device via USBinterface. By using a two stage Bootloader concept for the USBboot loading mode, programming of the firmware code to all kindof non-volatile memories is supported.(http://www.streamunlimited.com/downloads/AS352x_SDK6_sw_pb.pdf page 2-6)
So, if we assume that the ROM-code can handle MSC transfers independently of the firmware, and that it has a function to look for the firmware files in the flash, wouldn't that indicate that there's a pretty safe way to unbrick the device if you can make files it accepts?
But how do you get into that mode? If you write a bootloader with the correct header, the ROM is going to think the firmware is ok and then switch control over to it. If your firmware then doesn't work properly, how will you get back to the ROM's USB mode?
I could imagine that, if they did it properly, it could work, from boot ROM, like this:reset:start:if(standalone) run_firmwareelse /* following occurs in msc mode */ Â while(msc_mode) do_msc_stuff Â /* out of MSC mode, i.e. USB detach */ Â if(new_firmware) update_firmware Â udpate_db /*maybe in else clause? or maybe update_db.run_firmware */ Â reset Since this would be in the internal ROM, it will always work.
Yes but if the firmware you flash does not work, none of that will matter since the system will crash as soon as it boots. This is why you need a way to recover from bad flashes.
Quote from: saratoga on March 15, 2008, 10:01:34 PMYes but if the firmware you flash does not work, none of that will matter since the system will crash as soon as it boots. Â This is why you need a way to recover from bad flashes.There is one assumption that maybe was not clear: the MSC mode is in the ROM (Read Only Memory), not in the flash (or it is in the boot loader of the flash, which can be protected).So, as soon as the device is attached to a PC, it goes in MSC (if enabled) and this will always work, no matter what firmware it has.This is similar to the (not so new) BIOS recovery feature of PCs, where, even in case of bad flashing, there is a part of the BIOS untouched, which can boot and reprogram the flash by its own.If the flashing is gone bad, the device will be anyway able to go in MSC and reprogram the flash, since this mode is non-modifiable.In other words, the very first boot manager is in ROM and it always has the chance to start the firmware or go into MSC mode, no matter how bad is the firmware, and later re-flash or re-start the firmware.They _could_ have implemented this way, hopefully they did.pgs
Yes but if the firmware you flash does not work, none of that will matter since the system will crash as soon as it boots. Â This is why you need a way to recover from bad flashes.
Has anyone reported being able to get into UMS mode without booting the device? I don't recall anyone saying so, which is why I tend to think its not possible to do that on the V2 (at least without some sort of hardware modding or unknown recovery mode).
Have you tried to ask Sansa if your hypothesis is correct?
Page created in 0.298 seconds with 66 queries.