AnsweredAssumed Answered

U-Boot memory commands do not work on ls1043ardb

Question asked by Branden Sherrell on Mar 29, 2016
Latest reply on Mar 29, 2016 by Branden Sherrell

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).

Outcomes