U-Boot 2015.01QorIQ-SDK-V1.7+gc297f5b (Dec 20 2015 - 13:08:26)
I am able to successfully unprotect and copy (cp) to arbitrary memory spaces, but other commands like memory modify (mm) and memory write (mw) do not work. For example:
=> protect off 0x60300000 0x6031FFFF
Un-Protected 1 sectors
Sector Start Addresses:
...
601E0000 E RO 60200000 RO 60220000 E RO 60240000 E RO 60260000 E RO
60280000 E RO 602A0000 E RO 602C0000 E RO 602E0000 E RO 60300000 E
60320000 E RO 60340000 E RO 60360000 E RO 60380000 E RO 603A0000 E RO
...
=> md.b 0x60300000 10
60300000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
=> mm 0x60300000
60300000: ffffffff ? aa
60300004: ffffffff ? bb
60300008: ffffffff ? cc
6030000c: ffffffff ? dd
60300010: ffffffff ? ee
60300014: ffffffff ? .
=> md.b 0x60300000 10
60300000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
However, if I copy from another memory location it seems to work as expected:
=> cp.b 0 0x60300000 10
Copy to Flash... done
=> md.b 0x60300000 10
60300000: 00 00 01 10 00 c0 1e d5 01 10 3e d5 82 00 80 d2 ..........>.....
After erasing the sector and removing write permissions (e.g. protect on all) I get the following error when trying to copy, so it does not appear to be a problem with protections.
=> protect on all
Protect Flash Bank # 1
=> flinfo
Sector Start Addresses:
...
601E0000 E RO 60200000 RO 60220000 E RO 60240000 E RO 60260000 E RO
60280000 E RO 602A0000 E RO 602C0000 E RO 602E0000 E RO 60300000 E RO
60320000 E RO 60340000 E RO 60360000 E RO 60380000 E RO 603A0000 E RO
...
=> cp.b 0 0x60300000 10
Copy to Flash... Can't write to protected Flash sectors
Even an external JTAG programmer fails to write to memory with a halted CPU (verification failure).