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.

MSPM0G3507: Trouble Halting Target CPU during debugging project

Part Number: MSPM0G3507


Hi,

I met a strange issue, when I push the resume button. The error warning window popped up:

Trouble Halting Target CPU:

Device Connection Error.
This could be caused by the device having gone to low power mode.
Try forcing an external reset pressing the 'Force Reset' button.
If the error persists, try:
1) Invoking BSL,
2) Calling a DSSM Mass erase, or,
3) Calling a DSSM Factory Reset.
Check device FAQs for more information.

I guess I screwed up the BSL part. When I change back the codes and debug the firmware in BSL mode. The error is not occurred.

So how could I know it's the coding problem or BSL problem?

How could I remove the data in the BSL memory area?

Thanks.

Best Regards,

Justin

  • Hi Justin,

    What version of the launchpad are you using. Rev 1.0 or Rev A? 

    This would happen sometimes with the early sample devices because they had difficulty connecting if your code used certain low power modes. Invoking BSL mode is the correct workaround as you've seen. 

    Best Regards,
    Brandon Fisher

  • Hi Brandon,

    Rev A.

    I don't think I added low power mode in my codes.

    Could be a problem with BSL program.

    Thanks.

  • Hi,

    When I change the MCU internal frequency, which discussed in this thread:

    MSPM0G1107: How to setup up internal Oscillator frequency to 80MHz? - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums

    80MHz has this issue, but original 32MHz hasn't.

    Need I change JTAG SWD frequency for this problem? Where could I change it?

    Thanks.

    Best Regards,

    Justin

  • And here are error debug info:

    CORTEX_M0P: GEL Output: Memory Map Initialization Complete
    CORTEX_M0P: Error: (Error -1001 @ 0x0) Requested operation is not supported on this device. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -1266 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: Device Connection Error. This could be caused by the device having gone to low power mode. Try forcing an external reset pressing the 'Force Reset' button. If the error persists, try: 1) Invoking BSL, 2) Calling a DSSM Mass erase, or, 3) Calling a DSSM Factory Reset. Check device FAQs for more information.
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Error: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again. (Emulation package 9.12.0.00150)
    CORTEX_M0P: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. 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 9.12.0.00150)
    CORTEX_M0P: Unable to determine target status after 20 attempts
    CORTEX_M0P: 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

  • Hi Justin,

    What CCS version are you using? Version 12.4 released just recently, and includes an update to the support package that fixes some issues earlier CCS versions had with debugging production MSPM0G devices. 

    80MHz has this issue, but original 32MHz hasn't.

    Need I change JTAG SWD frequency for this problem? Where could I change it?

    80MHz or 32 MHz will both work fine with the default JTAG frequency. If you do want to try slowing it down you can find the option by opening the MSPM0G3507.ccxml file (inside the targetConfigs folder in the project). Then in the ccxml file, select the advanced tab, followed by the Texas Insruments XDS110 Debug Probe entry in the window that appears, and then you can update the JTAG Frequency. 

    I wouldn't expect this to be the issue on the launchpad, but you can certainly try it. I would ensure you are in CCS12.4 first though. 

    Best Regards,
    Brandon Fisher

  • Hi Brandon,

    I'm using CCS12.4. 

    If you are free, we could have a webex meeting and I will show you my firmware with this frequency steup.

    Thanks.

    Best Regards,

    Justin

  • Hi Justin,

    So how could I know it's the coding problem or BSL problem?

    Since you have the correct CCS version, the latest silicon, and booting into BSL mode allows you to debug successfully, this imay be an issue with something happening in your program. or with how the firmware is being loaded. 

    Does your program trigger any resets? Are there any writes to flash memory? Have you modified your linker file at all? 

    Best Regards,
    Brandon Fisher

  • Hi Brandon,

    I have no idea which part of my firmware caused this problem.

    If ok, could you review my codes quickly?

    Thanks.

    Best Regards,

    Justin

  • Hi Justin, 

    Yes, please send me your code. I will see if I can recreate this on my end. 

    Best Regards,
    Brandon Fisher