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.

Unable to flash my C28

I've been working with an F28M36 part on a TI ControlCard for a few weeks now and suddenly I am unable to flash the C28 side (I can still flash the Cortex M3 side).  When I try to launch a CCS6 debug session for a simple TI RTOS-based "Blinky" app on the C28, I get the following in the CCS6 Console:

Cortex_M3_0: GEL Output: Memory Map Initialization Complete
C28xx_0: GEL Output:
Memory Map Initialization Complete
C28xx_0: GEL Output:
RAM Initialization Complete
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.407.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.407.3)

On top of this is a Message Box with the following and three options: Cancel, Yes, No

Title:

Texas Instruments XDS100v2 USB Debug Probe/C28xx0

Content:

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

If I select "Cancel" I end up with the following appended to the Console and the debug session terminates with a "Load program error":

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.407.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.407.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:\Projects\ThermoFisher\emb-bootloader\C28BlinkyApp\Debug\C28BlinkyApp.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

If I select "Yes", I get the following appended to the Console and the debug session terminates with a "Load program error":

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.407.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.407.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.407.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:\Projects\ThermoFisher\emb-bootloader\C28BlinkyApp\Debug\C28BlinkyApp.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

If I select "No", the following is appended to the Console and the debug session terminates with a "Load program error":

C28xx_0: Can't Run Target CPU: (Error -2060 @ 0x0) Requested operation cannot be done while device is running. Halt the device, and retry the operation. (Emulation package 6.0.407.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.407.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.407.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:\Projects\ThermoFisher\emb-bootloader\C28BlinkyApp\Debug\C28BlinkyApp.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

So... I tried each option that was offered, but had the same outcome in each case.  Starting by loading a program into the M3 and then trying to load an executable onto the C28 produces largely the same results.  I can debug the M3... I can't debug the C28 (as of about 2 hours ago).

How do I recover the ability to program the C28's flash?

 

Thanks!

  • Update: I tried go in through the M3 side again (debug an app on the M3, Connect to the C28 core). I am able to single-step instructions on the C28 (so JTAG is working, the C28 isn't dead, etc.). Hmm... why can't I program the C28's flash?
  • Steve,

    When you see C28x fail,

    1) Is M3 bank programmed and the application is executing on M3? If yes, does your M3 application give any IPC boot command for C28x even before the code got programmed on C28x? This can cause itraps on C28x.

    OR

    2) Is M3 bank erased? If it is erased, make sure to connect the debugger to M3 core and keep it halted. If not, M3 will start fetching (boot to Flash) from erased Flash and it will cause resets. Hence, you will not be able to program C28x. You can even configure a different boot mode like serial to keep M3 waiting in loop while you program C28x.

    Also think about the changes that you did in your C28x application before you saw this failure. May be you programmed the security settings in the C28x Flash. Check them.

    Try below steps:
    1) Configure EMU0/1 for Wait-in-reset mode or serial boot mode
    2) Connect to M3 and C28x
    3) Erase M3.
    4) Do a debug reset on M3.
    5) Do a debug reset on C28x.
    6) Run M3 BootROM (just hit resume)
    7) Run C28x BootROM (just hit resume)
    8) Now try to load C28x code

    Thanks and regards,
    Vamsi
  • Hi Steve

    Is this issue resolved?

    Vivek Singh
  • Unfortunately, no.  I was unable to get the board to work.  When we ordered the board, we ordered a second one as well.  The second one arrived non-functional, so it has been sitting on the shelf until this one stopped being flash-able.  I pulled that other board back off the shelf and -- after some close examination -- had to unsolder a blob between R62 and the network connector (manufacturing issue), and now the second board is working.  If I get time I'll try chasing this again, but the issue is not closed.

  • Thanks for the update. Keep us posted on your findings and any further queries on this.