This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#7505 - Gigabeat Flashwriter - DO NOT USE
Attached to Project:
Rockbox
Opened by Karl Kurbjun (kkurbjun) - Sunday, 29 July 2007, 17:24 GMT+2
Last edited by Karl Kurbjun (kkurbjun) - Friday, 26 September 2008, 06:06 GMT+2
Opened by Karl Kurbjun (kkurbjun) - Sunday, 29 July 2007, 17:24 GMT+2
Last edited by Karl Kurbjun (kkurbjun) - Friday, 26 September 2008, 06:06 GMT+2
|
DetailsDO NOT USE THIS TOOL UNLESS YOU HAVE A JTAG INTERFACE TO RECOVER FROM A BAD WRITE.
Currently this plugin erases the flash and then rewrites it with the file flashwrite.bin. The flash can be accessed at 0x04000000, and it is 1 MB in length. The flashwriter plugin works for me - that does not mean that it will not erase your flash and leave you with nothing. In fact that is very possible. If a bad write occurs do not shutdown the player, instead reconnect it to the computer, upload a new file and retry. The timeouts for erasing, writing, etc are not setup properly right now and it has gone through little testing. It is safe to erase and write to the sector located at 0x04050000, it is part of the gigabeat firmware that is only used for images and I have tested this with the 2.x version of the firmware successfully. |
This task depends upon
1) A check to make sure that the charger is plugged in and the player is mostly charged (>80%?).
2) An MD5 sum check after the flash is patched to double check to make sure that it matches a known bootloader release (a byte for byte verification is already done so this is redundant, but can't hurt...).
3) An MD5 sum on the bootloader.bin file to make sure that an untested bootloader is not being written.
There are checks in place to make sure that:
1) An untested OF flash image is not patched
2) A backup of the OF flash is made before attempting a patch
3) The bootloader image is present before attempting to patch the flash (or restore)
4) The bootloader image is not too large for the sector it is being stored on
5) There were no writing or reading errors.
I still need to do the timings properly for writing/erasing the flash. Currently the code does not have any timeouts so if there is a bad flash device it will never stop trying to write to it or erase it.
Once I have the timings right I think this will be acceptable for others to use for flashing (honestly at this point it's pretty safe already), but ideally I would like to get the rest of the checks desired in the code first.
For now though if anyone wants to start making sure their flash image is up to par they can run the "Check flash MD5 (version)" menu option. If an abort message comes up then I need a copy of the flash to verify that it will patch cleanly. A backup can be made by running "Backup Flash and MD5sum". Do not use "Restore Flash Backup" or "Install Rockbox bootloader" until the proper timings are added since these two operations do the erasure and writing to the flash.
Thanks again for all of your hard work Karl. I'm incredibly excited for this.
Thanks again Karl.