This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/F28M36P63C2: Unable to flash - locked or depleted?

Part Number: F28M36P63C2
Other Parts Discussed in Thread: UNIFLASH

Tool/software: Code Composer Studio

I flashed the ARM side of this processor successfully a few times, and then had a crash of some sort on my development system (I don't know what caused it) during the flashing process.  Now I am unable to flash sectors A and J-N.  I did not intentionally lock the part, but it behaves as if those sectors are locked.  I've seen some discussion of "depletion" also, but I don't see the extra options in the tools I have available (UniFlash 3.4 and 4.1, CCS v6).  Is there any way to recover this device without replacing it? 

Thanks for any help you can provide,

     -- Steve G.

  • Steve,

    Depletion does not occur in the Flash technology used in F28M36x devices and hence you won't see related options in UniFlash and CCSv6. 

    Did you make any recent changes in your application?  May be you have programmed password locations and hence not able to erase those Flash sectors anymore.  You can open the debugger memory window and see what values you have programmed in the password locations and copy them to Key registers in the plugin and unlock the device before trying to erase.

    Note that until you program PSWDLOCK fields in M3 OTPSECLOCK location in OTP, you will be able to see the passwords programmed in the Flash in the debugger window.  Check the password locations and GRABSECT locations of both zone1 and zone2.

    I will ask our security expert to take a look at this.

    Thanks and regards,

    Vamsi

  • Hi Steve,

    Ist you need to make sure that device is indeed LOCKed. To confirm, please check the value at password address locations -

    Address locations - 0x200000 to 0x200020
    Address locations - 0x2FFFDC to 0x2FFFFF

    If you see these values as 0x0 then device is indeed LOCKed and you need to replace the device. If it's non-zero value the let us know what the values are.

    Regards,

    Vivek Singh
  • Use CCS Memory watch Window to view the value at these address locations.
  • I started a debug session within CCS, but without loading anything into memory. I refreshed the Memory Browser view a few times (just to make sure I had consistent values). Here's what I found:
    0x200000: 00000BBF 0ADB380F CA200600 0F00000B 000ADB5E 0BD52006 00000000 00000000
    0x2FFFDC: 00000000 00000000 00000000 0ADDE70F AE200600 0500000B 0AD9A820 DDCB0F00 2006000A

  • Given this information, is there anything I can do to recover access to the chip's flash?
  • Yes. Please open the CCS flash plug-in in CCS and unlock the Zone1 and Zone2 by providing the correct password value (as shown below).

    After unlocking, you can erase whole sector and that should recover the device.

    Regards,

    Vivek Singh

  • Just to confirm: I should use the address of the register for the value (e.g. set CSMPSWD0 to 0x200000)? I thought I might use 0x00000BBF for that value. Can you confirm the values I need to use for the different CSMPSWD keys?
  • Steve,

    Value I sent were the address for CSMPSWDx. You need to check on your device the value at those locations and then use them to UNLOCK both the Zones and then erase all the sectors.

    Vivek Singh