TMS320F28379S: JTAG Connectivity Issue - Error connecting custom board with XDS110 debug probe

Part Number: TMS320F28379S

Tool/software:

Good morning!

I am working now with a custom board based on TMS320F28379S MCU. This board was designed 2 years ago and was running.

But now we made 2 new PCBs and both has the same problem: I cannot connect it with JTAG.

CCS version is 12.7.1. I use it normally with the same debug probe (XDS110) with Tiva C based boards.

All voltage rails are ok, XRS pin is steady high. 

Boot pins are set to "Wait mode".

"Connect target" is succesful.

But when I try to start a debug session with simle main() test program I got these errors:

C28xx_CPU1: Error: (Error -1044 @ 0x0) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 12.7.0.00130) 
C28xx_CPU1: Trouble Halting Target CPU: (Error -1135 @ 0xC095) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 12.7.0.00130) 
C28xx_CPU1: Unable to determine target status after 20 attempts
C28xx_CPU1: 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_CPU1: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x000130@Program: target is not connected
C28xx_CPU1: Error executing PLL configuration algorithm. Operation cancelled. (0x0)
C28xx_CPU1: File Loader: Memory write failed: Unknown error
C28xx_CPU1: GEL: File: C:\WorkspaceECOM\ECCD2000_board\Debug\ECCD2000_board.out: Load failed.
C28xx_CPU1: Error occurred during flash operation: Could not read register PC: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005F800@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005FC00@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x000000@Program: target is not connected
C28xx_CPU1: Error occurred during flash operation: Cannot enable while the target is disconnected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Failed to run target while trying to execute pwrite_en.alg
C28xx_CPU1: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
C28xx_CPU1: Perform a debugger reset and execute the Boot-ROM code (click on the RESUME button in CCS debug window) before erasing/loading the Flash.  If that does not help to perform a successful Flash erase/load, check the Reset cause (RESC) register, NMI shadow flag (NMISHDFLG) register and the Boot-ROM status register for further debug.
C28xx_CPU1: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D22E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D208@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D208@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D208@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D208@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D222@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D222@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D214@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D20E@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x0005D222@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x000000@Program: target is not connected
C28xx_CPU1: Error occurred during flash operation: Cannot enable while the target is disconnected
C28xx_CPU1: Error occurred during flash operation: Could not read 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Failed to run target while trying to execute pwrite_dis.alg
C28xx_CPU1: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
C28xx_CPU1: Perform a debugger reset and execute the Boot-ROM code (click on the RESUME button in CCS debug window) before erasing/loading the Flash.  If that does not help to perform a successful Flash erase/load, check the Reset cause (RESC) register, NMI shadow flag (NMISHDFLG) register and the Boot-ROM status register for further debug.
C28xx_CPU1: Error occurred during flash operation: Could not write 0x00000064@Data: target is not connected
C28xx_CPU1: Error occurred during flash operation: Could not write register PC: target is not connected

MCU.pdf

Here is a schematic part for MCU of my board.

  • Hi,

    "Connect target" is succesful.

    If you are able to connect, this is probably not a hardware problem. 

    Do you only have one board, do you have a problem with other boards? 

    Are you able to try replacing the MCU? Or can you dump the flash of your current MCU? Have you ever enabled security on this MCU? 

    Thanks,

    Ben Collier

  • I have 2 boards, same behaviour. New MCU on both.

    I suppose, there could be not enough current for FLASH operation. Will check today.

  • Ok, waiting for your response. 

  • Yes, this was an 3.3V weak power.

    Now I got another issue:

    During code startup I got error enabling peripherial clock.

    Stepping through the line SysCtl_enablePeripheral(SYSCTL_PERIPH_CLK_CLA1);

    I got a message 

    C28xx_CPU1: Trouble Reading Register RPC: (Error -1156 @ 0x13) 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 12.7.0.00105) 
    C28xx_CPU1: 10 other operation(s) were automatically canceled as a result 
    C28xx_CPU1: Error: (Error -1135 @ 0x84B1D) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 12.7.0.00105) 
    C28xx_CPU1: Unable to determine target status after 20 attempts
    C28xx_CPU1: 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
    
    The device is reset after, as I have jumper setting Wait boot mode, it is able to run again.

    Trying to set bits manually in SYSCTL_O_PCLKCRx registers allows me to set several bits then the same error occurs.

  • Hi OLEG,

    Can you narrow down to the bit in PCLKCRx registers which causes the issue that you are seeing.

    Also are you seeing this on how many units ?

    If you are able to reproduce on multiple units, can you send us a simplified project that I can run on the silicon at my end and reproduce it ?

    Thanks

  • Hello!

    Any PCLKCRx register write causes the issue.

    Currently I have the access only to one unit.

    You can use any example project, as the issue occurs in early void Device_init(void) call, when it calls Device_enableAllPeripherals();

    The crystal clock initialize procedure is successfull, the crystall is 10MHz.

  • I couldn't reproduce the issue on my end, I am able to write PCLKCRx registers.

    I am wondering what could be different with what you are doing ?

    Thanks