Rockbox Development > New Ports
SanDisk Sansa c200v2, m200v4, clipv1, clipv2, clip+, and fuzev2
sucitrams:
OK my Sansa is now working too.
I had to dd the original firmware (which is only 15MB in Size and not 30MB like the one dumped from Flash). I don't know why the NAND dump Firmware is always 30MB in Size, when you could also install the 15MB Firmware directly onto NAND.
But it seems, that my NAND has some bad sectors. Everytime at 14MB dd stops working, and said that there's no space left.
So I had to a "dd if=firmware of=/dev/sdb bs=512 count=27000", because Data will be only written, if dd don't break, because of IO Errors etc.
Then the Sansa started normally, but the fonts were missing. So i connected it to USB, copied the original Firmware onto the Sansa and installed it.
After that everything is fine (But I think my Sansa's life is over, because of defect sectors).
I noticed, that if the NAND (seems) to be empty and you connect the Sansa to PC the "hidden" in my case 1024MB Partition will be active. So you could copy a firmware file directly onto NAND, without bridging the 2 Pins.
fragilematter:
The same thing happened to me today while trying to recover from the last flash test. When I connected the usb the sansa acted like the pins where bridged. But then I dd-ed the whole big dump and it worked perfectly.
atomikpunk:
It definitely confirms that the bootloader loads an "emergency" mode when it doesn't find executable code in the flash/rom/whatever. And this can be done by flashing an empty firmware using recovery mode, or by shorting some flash chip pins :)
The next interesting test would be to check where is located the firmware in the CPU memory map and/or how library blocks are loaded into RAM.
saratoga:
According to the datasheet, it would have to be at 0x8000_0000 to 0x8001_FFFF (or one of its aliases), since thats the only nonvolatile memory available when the NAND is shorted.
funman:
Then the ROM is 128 kB, and the library blocks just can't fit.
The code to load them in RAM from the NAND is in the firmware block, and we must find it or reproduce its functionality.
When it's done no need to look in the library blocks, since we have access to the whole NAND and its FAT32 filesystem.
EDIT: I was looking in wrong places: I just found firmware/drivers/ata_flash.c which is what we need, I'll try to build it and make it fit in my firmware block.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version