Dear Qin,
I have the same issue. My stock Vocore u-boot erases only 0x3B0000 amount of flash:
- Code: Select all
VoCore> erase linux
Erase linux kernel block !!
From 0x50000 length 0x3B0000
raspi_erase: offs:50000 len:3b0000
...........................................................
Thereafter, flashing vocore.16m.mjpg.bin of size 3C0004 obviously creates garbage in the 0x3B0000-0x3C0004 area, and can not be booted:
- Code: Select all
VoCore> cp.linux 3C0004
current count: 3932164
Copy linux image[3932164 byte] to SPI Flash[0x00050000]....
raspi_write: to:50000 len:3c0004
VoCore> reset
U-Boot for VoCore(based on RT5350)Warning: un-recognized chip ID, please update bootloader!
..
Version: May 30 2014 20:52:36
Press 'x' to console...
Booting image at bc050000 .Bad Magic Number,FFFFFFFF
Now, I do not understand what you mean with:
Vonger wrote:Looks like this uboot mtd driver support up to 3MB~4MB, that is fixed. But you can install package after the system ready. Or you have to make your own uboot, change some code there.
These are my questions:
- What exactly do you mean by "Looks like this uboot mtd driver support up to 3MB~4MB, that is fixed"? Can you refer to the u-boot source code changes?
- How do I tell my u-boot to erase the full linux flash area? I have seen a very few examples scattered over the foum where erase linux will use offs:50000 len:7b0000? Can this be done manually, or by changing some u-boot env variables?
- In case this is necessary: How do I regenerate the stock "U-Boot for VoCore (based on RT5350) Warning: un-recognized chip ID, please update bootloader! .. Version: May 30 2014 20:52:36" from source code without loosing functionality? And whereto do I flash the new u-boot thereafter?
I understand that flashing u-boot itself is a bit tricky, as any mistake will require me to unsolder the flash chip ... ...
Kind regards,
Sebastian