MSPM0G3518-Q1: Error connecting to target when debugging

Part Number: MSPM0G3518-Q1
Other Parts Discussed in Thread: MSPM0G3518, UNIFLASH, MSPM0G3507

Hello,

I am experiencing a permanent DAP connection error on my custom board using the MSPM0G3518 and I have been unable to recover it after trying all suggested methods.

 

Error Message:

CS_DAP_0: Device diagnostic read = 0x00000036
Possible root causes: Invalid CRC configuration, Invalid BCR configuration, Invalid BSL configuration.

---

DAP Connection Error. This could be caused by the device having gone to low power mode.
Try forcing an external reset.If the error persists, try forcing BSL, a Mass erase or a Factory Reset. Check device FAQs for more information. 


Recovery Methods Attempted:

1. Held nRST low during power-up, then attempted DSSM Factory Reset via UniFlash → Failed (DAP Connection Error persists)
2. DSSM Factory Reset via UniFlash without nRST manipulation → Failed (Connect failed at GEL_Connect())
3. Evaluated GEL Expression MSPM0_Mailbox_FactoryReset_Auto() via CCS → Stuck in infinite loop, never completed

Observations:

- The board still runs the previously flashed program, so the main flash region appears intact.
- All recovery paths fail at the DAP connection stage before any command can be executed.

Questions:

1. Is there any remaining recovery method for this situation?
2. Based on the diagnostic value 0x00000036, is it confirmed that the device is permanently locked out?
3. Could you clarify exactly which condition causes permanent lockout? Is it erasing the non-main flash entirely (all 0xFF), or is corrupted/invalid configuration data (such as invalid CRC) also sufficient to cause permanent lockout?

Thank you.

  • Hi Elif,

    The device diagnostic read of 0x36 means the device is in the maximum restrictive state due to an invalid NONMAIN configuration or NONMAIN was erased.

    If there is an invalid NONMAIN configuration, or NONMAIN is erased and not flash before power cycling, the device will end up in this state.

    Best,

    Owen

  • Hi Owen,

    Thank you for the clarification. How can I recover the device from this state? Is it possible to restore the NONMAIN region via BSL since SWD/DAP connection is not working?

    Any recovery steps or tool recommendations would be very helpful.

    Best regards,
    Elif

  • Hi Elif,

    You can try the following steps to see if you can recover the device, but typically this device diagnostic read signifies the device is unrecoverable:

    1. Remove power from device
    2. Set up a Uniflash session for the device
    3. Pull nRST low
    4. While continuing to hold nRST low, supply power to the device
    5. In Uniflash, go to Settings and Utilities
    6. Click on the button that says Factory reset manual
    7. In the console, when it prompts you to press the nRST button, release nRST from being held low

    If the steps above do not work, the device is no recoverable. The device diagnostic read of 0x36 means NONMAIN was erased. If NONMAIN is erased and not re-written with the default configuration, it will result in this state. The device cannot be recovered via BSL, as the BSL configuration exists within NONMAIN.

    Best,

    Owen

  • Hi Owen,

    I started working with a different board (same MSPM0G3518 PM, custom PCB) and ran into the same locked state again. This time I was able to track the error progression more carefully.


    Error Progression

    1) Initial error → 0x00010136

    CS_DAP_0: Trouble Reading Register SECAP_RCR: (Error -2131 @ 0x2020C)

    I could not identify what exactly caused this initial lock. I referenced this similar thread for recovery: MSPM0L1228 locked - DAP error 0x00010136




    2) After DSSM Factory Reset & Mass Erase (SWD) → 0x0004110A

    Debug access within NONMAIN was disabled or enabled with password.

    DSSM commands appeared successful but NONMAIN was not actually fixed.



    3) After UART BSL Factory Reset (BSL GUI) → 0x00000036 (current)


       

    BSL factory reset reported success but wrote incorrect values. Now both SWD and BSL are broken.

    What I Tried

    1. DSSM Factory Reset Auto (UniFlash) — diagnostic changed from 0x00010136 to 0x0004110A
    2. DSSM Mass Erase Manual (UniFlash) — program loaded but NONMAIN unchanged
    3. Erase MAIN+NONMAIN (UniFlash) — connection failed
    4. UART BSL Factory Reset (BSL GUI, PA18 to GND, USB-TTL) — succeeded, diagnostic changed to 0x00000036
    5. DSSM Factory Reset/Mass Erase with nRST held low (CCS Scripts) — hung indefinitely
    6. Download firmware via BSL GUI — "Unknow else error", BSL no longer responds
    7. Load Image via UniFlash (SWD) — connection failed
    8. nRST held low → power on → Factory Reset Manual (UniFlash) — as suggested in previous reply — hung indefinitely

    Current State

    • SWD: cannot connect (invalid BCR)
    • UART BSL: cannot connect (invalid BSL config)
    • DSSM commands: hang forever
    • Device appears bricked (same as my previous board)

    Questions

    1. Root cause: I have now lost two boards to this issue. I could not identify what exactly causes the NONMAIN corruption. What specific operations or sequences can lead to NONMAIN being corrupted or erased?
    2. Prevention: What precautions should I take when working with BSL configuration to prevent accidentally locking the device?
    3. Correct NonMain file: In Attempt 4, the BSL GUI factory reset reported success but clearly wrote wrong values (diagnostic went to 0x00000036 instead of recovering). What is the correct default NonMain data file for MSPM0G3518 PM package? Where can I find it?
    4. Any remaining recovery path? Given that both nRST + DSSM factory reset and BSL have failed, is there anything else I can try, or should I consider this board unrecoverable?

    Thank you.



  • Hi Elif,

    Diagnostic read of 0x00010136 means: Boot failed. Possible reason is that the NONMAIN CRC checksum verification fails.

    Diagnostic read of 0x0004110A means: Boot success. BSL is invoked and executed.

    Diagnostic read of 0x00000036 means: Invalid NONMAIN configuration or NONMAIN was erased. Device is no longer recoverable.

    1. Root cause is that you are erasing NONMAIN without flashing the default configuration or a valid configuration.
    2. You can prevent this from occurring by ensuring that NONMAIN is always valid. Do not erase NONMAIN and power-cycle device before restoring NONMAIN to default state or with a valid configuration.
    3. You can find the default values of the NONMAIN Configuration within the Technical Reference Manual for the device-specific family (i.e., MSPM0 G-Series 80-MHz Microcontrollers Technical Reference Manual). You can then create the file similarly to how the Configuration_NVM_MSPM0G3507_Default_value.txt are formatted (TI-TXT).
    4. There are no paths of recovery if the diagnostic read is 0x00000036.

    You may find the MSPM0 NONMAIN Flash Operation Guide helpful.

    Best,

    Owen