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.

F28M36H33B2: Cannot load C28x

Part Number: F28M36H33B2

I can connect to the C28x core on my concerto device but I cannot load a .out file. When loading into RAM it says "file load failed" and when loading into flash it says "Device may be operating in low-power mode". I have been working this device for a while, flashing it regularly and just all of a sudden gives this error. I also does not run the code in flash after restart anymore. The M3 core however still works fine. It seems like the C28 got damaged. Is this repairable or should I just replace the IC? Please see below detailed console output when trying to load a program onto the C28 core.

C28xx_0: GEL Output:
Memory Map Initialization Complete
C28xx_0: GEL Output:
RAM Initialization Complete
C28xx_0: File Loader: Verification failed: Values at address 0x0981D@Program do not match Please verify target memory and memory map.
C28xx_0: GEL: File: C:\Users\xxxxxxxxxxxxxxx.out: a data verification error occurred, file load failed.
C28xx_0: Trouble Setting Breakpoint with the Action "Remain Halted" at 0x80e3: (Error -1066 @ 0x80E3) Unable to set/clear requested breakpoint. Verify that the breakpoint address is in valid memory. (Emulation package 6.0.628.3)
C28xx_0: Breakpoint Manager: Retrying with a AET breakpoint
C28xx_0: Can't Run Target CPU: (Error -1156 @ 0x8050) Device may be operating in low-power mode. Do you want to bring it out of this mode? Choose 'Yes' to force the device to wake up and retry the operation. Choose 'No' to retry the operation without waking the device. (Emulation package 6.0.628.3)
C28xx_0: Error: (Error -2134 @ 0x0) Unable to control device execution state. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 6.0.628.3)
C28xx_0: Trouble Halting Target CPU: (Error -1135 @ 0x8050) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 6.0.628.3)
C28xx_0: Error: (Error -1135 @ 0x8050) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 6.0.628.3)
C28xx_0: Unable to determine target status after 20 attempts
C28xx_0: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
C28xx_0: Error occurred during flash operation: Cannot disable hardware breakpoint while the target is halted. Halt the target and try again
C28xx_0: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not read 0x00004400@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not read 0x00004402@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not read 0x00004406@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00000@Program: target is not connected
C28xx_0: Error occurred during flash operation: Cannot enable while the target is disconnected
C28xx_0: Error occurred during flash operation: Could not read 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Failed to run target while trying to execute pwrite_dis.alg
C28xx_0: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
C28xx_0: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00004E26@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not read 0x04E26@Program: target is not connected
C28xx_0: Flash Programmer: Unable to acquire the clock semaphore. The other core might still be accessing the clock registers. Operation Cancelled.
C28xx_0: File Loader: Memory write failed: Unknown error
C28xx_0: GEL: File: C:\Users\XXXXXXXXXXXXXXXXXXXX.out: Load failed.
C28xx_0: Error occurred during flash operation: Could not read register PC: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00004000@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00000@Program: target is not connected
C28xx_0: Error occurred during flash operation: Cannot enable while the target is disconnected
C28xx_0: Error occurred during flash operation: Could not read 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Failed to run target while trying to execute pwrite_en.alg
C28xx_0: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
C28xx_0: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not write 0x00004E26@Data: target is not connected
C28xx_0: Error occurred during flash operation: Could not read 0x04E26@Program: target is not connected
C28xx_0: Flash Programmer: Unable to acquire the clock semaphore. The other core might still be accessing the clock registers. Operation Cancelled.
C28xx_0: Error occurred during flash operation: Could not write register PC: target is not connected

  • Albert,

    In CCS, if you open the flash location in memory watch window, what value you see? If you see all the flash locations as 0x0, can you check the value at address 0x13FFF8 to 0x13FFFF. If you see non-zero value there then you can use these value to unlock the device and erase the flash which should fix the issue.

    Regards,
    Vivek Singh
  • If I look at adres 0x00120000, which I think is a flash location according to the datasheet, I only see 0x00. If I look at adress 0x13FFF8 to 0x13FFFF, its also just zeros. What does that mean? How do I unlock and erase the device?
  • Albert,
    you can inspect your MAP file and see what sections of code went into the above mentioned CSM password regions and get the values if you linked any constant data. Then you can unlock the CSM using CCS flash plug-in with those values and erase the password.

    The key is you need to find what you programmed in the CSM password locations of flash. If you accidentally linked any text segment, then you can use C2000 Hex tool (refer to device boot ROM section of the device TRM, it talks about hex tool), convert your coff to hex and inspect the hex file to find out what values are linked to the password locations and use it to unlock the device.

    Hope this helps.

    Best Regards
    Santosh Athuru
  • Albert,

    If C28xPSWDLOCK is not programmed, then you will be able to know the password programmed in the Flash (via debugger or code running from any memory), which you can use to unlock. If C28xPSWDLOCK is not programmed and if you see all zeros in the password locations, it means that the password locations are programmed with all 0s. Such a device can not be unlocked anymore.

    If C28xPSWDLOCK is programmed, then you can try the suggestions that Santosh gave to figure what values got programmed in to the password locations.  If it not all zeros, then you can unlock if you figure out the password.

    Thanks and regards,
    Vamsi

  • Hi Vamsi/Santosh

    Can you please check if I am analyzing this correctly?

    The Password Location are all zero's. So that means the password is either locked or accidentally programmed with zero's.

    Then I look at the C28 OTP memory at address 0x00240200 – 0x002403FF to see if the password is locked. (is this the correct address to verify C28xPSWDLOCK?) Some values are non-zero which means that the password is indeed locked, which is why the password locations above are zero.

    Now I need to find out what was the values that was programmed into the Password locations (0x0013FFF8) and then write that into the CSMKEY Registers to unlock. I looked in the map file under global data symbols to try and find the values but I'm not sure if this is the correct place because it only shows a 2 byte value (4fff) at adress 0x0013FFF8.

    This does not make sense because I am expecting a 128 bit value that I can write into the CSMKEY registers at 0xAE0 - 0xAE6. Where do I find the password in the map file?

     

  • Albert,

    TRM says that the OTPSECLOCK field (contains C28xPSWDLOCK bit-field) is at address 0x681000 on M3 OTP memory map.
    Can you check the value at this location?

    Thanks and regards,
    Vamsi
  • Ok so that is for the M3 as well as C28 then. I was thinking that 0x681000 is only for the M3 passwork lock. 

    In that case the password is not locked since 0x681000 is all ones.

    So the password (0x0013FFF8) is actually all zero's. Does that mean I cannot unlock this device at all? Even if I completely erase it?

  • Yes,  with password values as ALL ZERO, it can not be unlocked and you can not erase the flash with out unlocking it. You need to replace the device. 

    Was this device working fine earlier and then stopped working or it never worked? Have you seen similar issue on any other device?

    Vivek  Singh

  • It was working fine, I was using it for development, and then stopped. I have not experienced this issue on other devices.

  • Ok, in that case it does not seem to be .out issue. May be the flash operation was interrupted due to power supply or some other reason hence it got lock. You need to replace the device.
  • Will do that, Thanks Vivek.