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.

LP-MSPM0G3507: MSPM0G3507 - errors after flash bsl config example

Part Number: LP-MSPM0G3507
Other Parts Discussed in Thread: MSPM0G3507, UNIFLASH, SYSCONFIG

Tool/software:

Hello,

I'm using a LP-MSPM0G3507 and CCS Theia (Version: 1.4.1.1, Default VS Code API: 1.85.1) and flashed the ...\workspace_ccstheia\bsl_uart_flash_interface_LP_MSPM0G3507_nortos_ticlang onto it.

After that I tried to flash/debug the ...\workspace_ccstheia\pwm_led_driver_LP_MSPM0G3507_nortos_ticlang onto it and get the following errors in "Debug Output":

Error connecting to the target: (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 12.7.0.00130) 
NONMAIN contents corrupted, restoring to default
NON-MAIN contents restored correctly but MAIN flash was erased. Fix NON-MAIN contents before re-programming.
Error: (Error -1001 @ 0x0) Requested operation is not supported on this device. (Emulation package 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
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 12.7.0.00130) 
Unable to determine target status after 20 attempts
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

I found the advice that I might have to factory reset the device as described in Application Note MSPM0 Bootloader (BSL) Implementation: https://www.ti.com/lit/an/slaae88b/slaae88b.pdf?ts=1724067631067&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252Fde-de%252FMSPM0G3507

"5.2 Factory Reset by CCS to Recover Device"

https://www.ti.com/lit/an/slaae88b/slaae88b.pdf?ts=1724067631067&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252Fde-de%252FMSPM0G3507#%5B%7B%22num%22%3A60%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2Cnull%2C739.5%2Cnull%5D

After this factory reset (with Code Composer Studio 12.8.0 - NOT THEIA) I can flash my ...\pwm_led_driver_LP_MSPM0G3507_nortos_ticlang onto it and it works. But only with Code Composer Studio 12.8.0.

If I try to use CCS Theia I only get the errors that i posted above.

I also tried to do the factory reset with CCS Theia and the output also looked good. So i guess, the factory reset was done correctly.

But nonetheless I am not able to flash/debug any example project to the LP-MSPM0G3507 by CCS Theia.

I also tried the factory reset with keeping S1 PA18 pressed for invoking. did not help at all. Same errors.

Please help me how to do it!

Thanks in advance!

Matze

  • Hi Matze,

    One thing you need to keep in mind that you need to set the erase settings in  different project, if you use non-main flash you need to enable to erase the non-main flash. The other thing is make sure that your application code should not be conflict. For the demo of bsl_uart_flash_interface_LP_MSPM0G3507_nortos_ticlang will used the flash area 0x1000~0x2FFF. So for the application project you use must to avoid those area, you can refer to this demo ...\mspm0_sdk_2_01_00_03\examples\nortos\LP_MSPM0G3507\bsl\bsl_software_invoke_app_demo_uart 

  • Hi Gary,

    thank you for your answer!

    Just as additional information:

    I have selected "Erase MAIN and NONMAIN memory" in project properties - Debug ... see screenshot ..

    If I try to start a debug session or try to connect target - see screenshot...

    I get the following error message window on the lower right corner:

    Can you tell me how to solve this issue?

    If I select "Erase MAIN and NONMAIN necessary sectors only" in project properties - Debug, everything works out fine.

    Please tell me why ..

    I did not change anything about my used flash areas..

    Thanks in advance!

    Matze

  • and one other question:

    Can you please describe in detail, maybe with screenshots what I can see in the demo "\mspm0_sdk_2_01_00_03\examples\nortos\LP_MSPM0G3507\bsl\bsl_software_invoke_app_demo_uart" that you were talking about?

    I did not find any information about the flash areas.

    And where can I find the information about the end of the used flash area "0x2FFF" in the demo of "bsl_uart_flash_interface_LP_MSPM0G3507_nortos_ticlang"..

    Matze

  • I get the following error message window on the lower right corner:

    Before you connect the device and get this error massage, which project do you downloaded? Is it workspace_ccstheia\bsl_uart_flash_interface_LP_MSPM0G3507_nortos_ticlang ?

  • Can you please describe in detail, maybe with screenshots what I can see in the demo

    You can get the memory manage information in the cmd file

  • Before you connect the device and get this error massage, which project do you downloaded?

    I tried to debug/flash

    the ...\workspace_ccstheia\pwm_led_driver_LP_MSPM0G3507_nortos_ticlang

    as I wrote in the original post.

  • the ...\workspace_ccstheia\pwm_led_driver_LP_MSPM0G3507_nortos_ticlang

    For this project should not use non-main flash, so do not use the setting below, recommend to use the first one.

     

    By the way, before download this code, you can do a factory reset, after that connect the device to check if there are some data in 0x00, 0x1000, and if the non-main flash area are the default values, if yes, do a power cycle, then try to do debug/flash the ...\workspace_ccstheia\pwm_led_driver_LP_MSPM0G3507_nortos_ticlang  with the flash erase setting that just erase the main flash only.

  • after that connect the device to check if there are some data in 0x00, 0x1000, and if the non-main flash area are the default values

    Can you please tell me, where I can check what data is in the memory locations that you mention?

  • You can refer to this

    Read memory.pdf

  • Now I tried to flash the "secondary_bsl_uart_LP_MSPM0G3507_nortos_ticlang", it failed and now I have no possibility to reconnect to the LaunchPad.

    When I try to factory reset it, the programm seems to be stuck before successfully resetting it. - see screenshot:

    Can you tell me how to successfully do the factory reset?

  • And when I Run -> Load the simple pwm_led_driver_LP_MSPM0G3507_nortos_ticlang project i receive the following error message:

  • If you down load the demo of secondary BSL or flash plug demos twice without factory reset between the two time, that may cause the device lock issue. 

    Please download the latest version of the Eclipse® CCS (should be 12.8.0) and do the factory reset as below

    Factory_reset_v5.pdf

    If the it not work you can try to read the CFGAP_BOOTDIAG value to see if it locked or not

    8156.Read CFGAP_BOOTDIAG.pdf

  • The online tool gets stuck at the same point:

    UniFlash prompts the same error message ... something about the router register seems to be wrong..

    And the CFGAP_BOOTDIAG value is 0x36.

  • CFGAP_BOOTDIAG value is 0x36 means the device is locked forever. That means the non-main is erased to all 0xFF.

  • Oh shit!

    How and why could this happen?

    I only flashed "secondary_bsl_uart_LP_MSPM0G3507_nortos_ticlang" without any changes ..

    Is there no chance to rescue the controller?

    And what is even more important to me:

    How can I reliably prevent this from happening again with a new launchpad?

  • Hi Matze,

    As I mentioned before it due to the non-main erased and not write correct value into it and make it locked. 

    One using case is the most possible case with you that you download our BSL demo code that enabled the main flash static protection, then you do not do a factory reset and try to download a other code that include non-main flash modify that maybe the same one you download before will make the device be locked. This is due to when you do the second program the device will erase the non-main and main flash first, and try to program data in main flash(due to the main flash address is start from 0x00, the compiler will put the firmware start from 0x00 normally), but due the the main flash area be static protected that will make the program failed, after reset the device will be locked due to the non-main flash is all 0xFF.

    So when you try to program the code include non-main flash modification into the device, do a factory reset first!

  • Hi Gary,

    just to make sure I understand you correctly:

    1. I have to make a factory reset every time that I make any changes in secondary BSL configuration?
    2. I don't have to make a factory reset when I don't make any changes in secondary BSL configuration?
    3. I can't do anything to rescue my MSPM0, once it is locked like that?
    4. The "locking" of the controller is not a active process by TI. Rather it is something like a missing pointer or link to a target that should contain information about the next flashing process but the memory at the target position has been erased?
    5. Should I use the second point "Erase MAIN and NONMAIN memory" or the third point "Erase MAIN and NONMAIN necessary sectors only"?

    Please write me an answer to every single point of my five points.

    Thanks a lot!

    Matze

  • I have to make a factory reset every time that I make any changes in secondary BSL configuration?

    Yes, due to the secondary BSL have enabled the static write protection in non-main flash

    I don't have to make a factory reset when I don't make any changes in secondary BSL configuration?

    No, you still need to do factory reset, because the static write protection is enabled by default.

    I can't do anything to rescue my MSPM0, once it is locked like that?

    If the factory reset is not work the device will be locked forever.

    The "locking" of the controller is not a active process by TI. Rather it is something like a missing pointer or link to a target that should contain information about the next flashing process but the memory at the target position has been erased

    We will try to make some optimize of the work flow of the software to avoid this issue.

    Should I use the second point "Erase MAIN and NONMAIN memory" or the third point "Erase MAIN and NONMAIN necessary sectors only"?

    Third point will be better.

  • 1.

    Yes, due to the secondary BSL have enabled the static write protection in non-main flash

    Sorry, I don't understand that.. In 'Properties' - 'Debug' - 'FlashSettings' - 'EraseConfiguration' I do enable the erasing of the non-main flash. Isn't this the complete opposite of "enabling the static write protection in non-main flash"?

    Please explain, what you mean by that Slight smile

    2.

    the static write protection is enabled by default.

    Isn't the static write protection disabled, when I enable the erasing of the non-main flash in 'Properties' - 'Debug' - 'FlashSettings' - 'EraseConfiguration'?

    Or are these two different things that we are talking about?

    3.

    We will try to make some optimize of the work flow of the software to avoid this issue.

    That sounds great! I'd be glad to hear about it if this optimization is implemented. Can I subscribe to any ticket concerning this enhancement?

    4.

    Third point will be better.

    Thanks ;-)

  • Isn't this the complete opposite of "enabling the static write protection in non-main flash"?

    The static flash write protection is enabled in the sysconfig as below, you can also refer to the section of 1.5.9 FLASHSWP0 and 1.5.10 FLASHSWP1 in TRM https://www.ti.com/lit/ug/slau846a/slau846a.pdf 

  • Hi Gary,

    I bought a new Launchpad, compiled secondary_bsl_uart example and tried to debug the example.

    I can't start the debug session and I get the following error-messages:

    Error connecting to the target: (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 12.7.0.00130)
    Flash Programmer: Sector 4 at address 0x1000 erase failed
    File Loader: Memory write failed: Flash loader exited with flash error.
    GEL: File: C:\Users\MATTHI~1.HEI\AppData\Local\Temp\ti_cloud_storage\secondary_bsl_uart_LP_MSPM0G3507_nortos_ticlang.out: Load failed.
    Error: (Error -1001 @ 0x0) Requested operation is not supported on this device. (Emulation package 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)
    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 12.7.0.00130)

    I tried Factory Reset several times in several ways but it didn't come to an successful end.

    So I checked the CFGAP values.. maybe this helps you?

    Thanks a lot in advance!

    Matze

  • You can't debug it secondary BSL directly due to it is not start from 0x00 address. You can follow the Section 4.2.1.2 of the document MSPM0 Bootloader (BSL) Implementation.

    To do factory reset, you can also try to use the function below

    1. make the the device go into BSL 

    or

    2. hold the reset pin to low before power up and release it until need to reset the device of last step of the factory reset

    7180.Factory_reset_v5.pdf

  • Thanks.. I didn't connect the NRST jumper on the LaunchPad so the factory reset could not be successfully completed.