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-MSPM0G3519: MSPM0G3519 LaunchPad – Flashing Issue with CCS and UniFlash

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

Hi everyone,

I’m currently working with the MSPM0G3519 LaunchPad, using Code Composer Studio (CCS) and UniFlash for code flashing. However, I’m facing a consistent issue during the flashing process with both tools.

Problem Description

Whenever I attempt to flash my firmware onto the target device:

  • The process fails in both CCS debugger and UniFlash
  • The issue occurs consistently, not intermittently

What I Have Tried

  • Used both CCS built-in flashing/debugging and UniFlash standalone tool
  • Verified connections (USB and debugger interface)
  • Ensured the correct device (MSPM0G3519) is selected
  • Rebuilt the project before flashing
  • Restarted CCS, UniFlash, and the system
  • Tried different USB ports/cables

Observed Behavior

  • Flashing does not complete successfully
  • Error messages are the same in both tools
    Screenshot 2026-06-22 151605.png

Screenshot 2026-06-22 105749.png

Expected Behavior

Code should successfully program onto the device and run/debug normally.

Any suggestions or troubleshooting steps would be greatly appreciated.

Thanks in advance!

  • Hi S D,

    Can you try the steps in section 7.1 of the MSPM0 MCUs Development Guide? Issue a manual factory reset rather than a mass erase.

    Best,

    Owen

  • Hi Owen,

    Thank you for your suggestion.

    I attempted the steps in Section 7.1 of the MSPM0 MCUs Development Guide to perform a manual factory reset. However, I encountered the same popup/error during the factory reset process itself, and the reset did not complete successfully.

  • Hi S D,

    Can you share what the error/pop-up said?

    If it provides you with a device diagnostic read value, can you please share this?

    Best,

    Owen

  • Hi Owen,

    Apologies for the delayed response.

    I observed that regardless of the operation I perform—whether flashing through CCS, UniFlash, attempting a manual factory reset (as described in Section 7.1 of the MSPM0 MCUs Development Guide), or even performing a read operation—I receive the same popup every time.

    The popup message is:

    Since the same error occurs during the factory reset and read operations as well, I have not been able to successfully reset, read from, or program the device.

  • Hi S D,

    Can you try the following steps:

    1. Set up your Uniflash session for the device
    2. Remove power from the device
    3. Press and hold the nRST button on the LaunchPad (S3)
    4. While still pressing and holding the nRST button, supply power to the device
    5. Issue a manual factory reset to the device
    6. When prompted to press the reset button, release the nRST button
    7. If the device is still not recoverable, it is likely locked up

    To confirm if the device is locked up you can follow these steps:

    1. Open Code Composer Studio (CCS), preferably v20 or newer
    2. Locate or create a project for the device
    3. In the targetConfigs folder in the project directory, right click on the .ccxml file and select Start Project-less Debug...
    4. In the top menu bar, go to Scripts, then click Show All...
    5. In the script command window that appears, hover over the MSPM0_DeviceDiagnosticRead option and press the green arrow
    6. The GEL Output tab show should a device diagnostic read value, please share this value

    Best,

    Owen

  • Hi Owen,

    Thank you for the guidance.

    I followed the steps to verify whether the device is locked up:

    However, I encountered the same popup/error again during the process. The behavior is consistent regardless of the operation being performed.

    For your reference I am attaching the Error and GEL Output window.

    GEL Output : 

    Here is the information regarding CCS

  • Hi S D,

    Did the GEL output show anything else? Was there an error message?

    Best,

    Owen

  • I waited for approximately 5 minutes after starting the Project-less Debug session, but it appeared to get stuck. The GEL output did not show any additional messages or errors during that time.

    The only message displayed was the one I mentioned previously. No new diagnostic information, error message, or progress updates appeared in the GEL output window.

  • Hi S D,

    Can you share what happened before you were unable to program the device?

    • What was the application code doing? Were you touching NONMAIN or disabling the SWD pins, SW-DP access, etc.
      • Can you share the project or application code, if possible?
    • Were you able to program the device previously?

    If the BSL is enabled, you can try these steps to factory reset the device:

    Invoke the BSL:

    1. Hold the nRST button for > 1s on the LaunchPad
    2. Press and hold S1 (PA18) on the LaunchPad
    3. Release the nRST button, then release S1 (PA18) shortly after
    4. Over the default BSL UART or I2C pins, send the factory reset command:

    Do NOT power-cycle the device or issue any reset level higher than a BOOTRST to the device. If you any of these occur, the device will be unrecoverable.

    Using the UART or I2C controller, you will now need to flash the device using the BSL. The packet structure for commands can be found in the MSPM0 Bootloader User's Guide.

    To obtain the NONMAIN memory necessary to flash to the device, you can import an empty example.

    Next, go into the SysConfig file (.syscfg) and add Configuration NVM:

    Then go to the project properties by right-clicking on the project and clicking Properties...

    Then enable Arm Hex Utility:

    Then set the output format as TI-TXT:

    Build the project, then locate the .txt file in the Debug folder:

    Here is a breakdown of the file:

    @41c00000
    00 00 00 04 BB AA BB AA BB AA BB AA FF FF FF FF 
    FF FF FF FF BB AA BB AA BB AA BB AA FF FF BB AA 
    BB AA BB AA FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF D0 7F FA 1A 
    @41c00100
    00 00 00 04 16 02 15 02 01 03 02 03 A8 12 FF FF 
    AF 96 13 76 0F 72 63 5F BD B4 4A 5A 0A 63 C3 9F 
    12 AF 30 F9 50 A6 EE 5C 97 1B E1 88 E8 9C 40 51 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF 48 00 95 8C 15 1F 

    Defaults are also defined in the register section in the TRM, if you wanted to create a file from scratch.

    The BCR and BSL register data is what you will need to program to the device in order to populate the default BCR and BSL values to the device.

    Best,

    Owen

  • Hi Owen,

    Thank you for the detailed explanation and the suggested recovery procedure.

    Unfortunately, I cannot share the application code due to confidentiality restrictions. However, I can describe what the application was doing.

    The application was relatively simple:

    • Using one I2C peripheral/channel for communication
    • Configuring one GPIO pin as an output
    • I was not intentionally modifying NONMAIN memory, disabling SWD pins, disabling SW-DP access, or making any changes to debug-related settings

    Regarding the incident that preceded the issue, I was actively working in debug mode when the board suddenly lost power. After power was restored, I was no longer able to program or communicate with the device, and the issue has persisted since then.

    Before this event, I was able to program and debug the device successfully without any problems.

    I will need some time to perform the BSL recovery and factory reset steps you suggested. Once I have completed them, I will share the results and any observations.

    Thank you again for your continued support.

  • Hi S D,

    Thanks for the additional details. In the case that the device had been completely erased, NONMAIN included, and the device lost power, this would result in an "invalid" boot configuration and put the device in the highest security state (locked up). If this is the case, then the device is, unfortunately, unrecoverable.

    Please let me know if you are able to recover the device with the steps above, or if you are able to obtain a device diagnostic read value at any point.

    Best,

    Owen