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.

MSPM0L1228: RAMcode did not respond during flashing 50% of the time

Part Number: MSPM0L1228
Other Parts Discussed in Thread: SEGGER, MSPM0L2228, UNIFLASH

Tool/software:

When attempting to flash our boards with a Segger Flasher Compact and jlink, we are seeing the following error 50% of the time:

****** Error: Timeout while preparing target, RAMCode did not respond in time!
Failed to perform RAMCode-sided Prepare()
Unspecified error -1

Running the same script repeatedly, results in the error consistently every other time.

The contents of the script we are running from a powershell prompt with the command jlink .\prog_LP_endurance_app.jlink is:

ExitOnError 1
USB 1017000197
Device MSPM0L2228
SelectInterface SWD
Speed 4000
Connect

LoadFile "C:\Work\Debugger\LP_Endurance_Release_V_9.8.0_370bc92c8.out"

Reset
Go
Exit

The problem has caused us lock one board completely due to the failure occurring when attempting to flash BCR/BSL, with our release build.

Looking at other forum posts, we have checked the capacitor value connected between Vcore and GND, and have confirmed the value reads 520nF.

Is there anything else that we can investigate please to determine the cause of this problem and resolve it?

  • Further information, it was failing 50% of the time because I left the board powered.

    When I power cycle the board between each flashing attempt, it fails every time, with the same error.

    This suggests something is not setup correctly, either on our board of configuration wise.

  • Hi Chris,

    you could try to flash a MSPM0L2228 LaunchPad with the Segger. So you are sure that the HW is correct.
    Does this give you the same error?

    Regards,
    Timo

  • Hi Timo,

    I have tried with a MSPM0L228 LaunchPad, and observed the following:

    • The first time it worked fine with no errors at all.
    • That first time flashed a build intended for our product board.
    • After that first attempt I see exactly the same behaviour on the LaunchPad as I do with our own board.

    The build I am flashing does not have any NVM configuration or watchdog set up.

    It feels like something is running when I am not expecting it to be and affecting the flashing process.

    Is there a way to perform a factory reset before attempting to flash anything to guarantee it will succeed?

  • Hi Chris,

    then it looks like the problem is not on your board. You could try a simple Example from TI to be sure. But I assume it will show the same.

    You can perform a Factory reset with CCS or Uniflash. But with these tools I think you have to use a TI flasher. On the LaunchPad is one included. Just connect by USB. Then you should be able to try it again with the Segger.

    If I understand it right, the first try will work, and then it doesn't work anymore. Right?

  • The first time worked on the LaunchPad, but that was a one off, and I suspect it was because it was running code intended for the LaunchPad rather than our firmware, I need to double check that.

    The behaviour for all boards with our firmware is:

    • Power on from cold and it never works
    • Repeat after the first failure and it seems to always work
  • I have now tried with the LaunchPad board, and the gpio_toggle example project.

    I see exactly the same behaviour:

    • From a cold power on the flash attempt always fails
    • If not restarted the second attempt usually succeeds

    I can also see the example project running on the LaunchPad board with the LEDs toggling colour.

  • In attempting to test JLinkScript files to perform a factory erase prior to programming, my MSPM0L2228 development board is no bricked and unrecoverable.

    I do not understand what happened to it, and now unable to test further.

  • Hi Chris,

    looks like a problem we are facing with in the past. Unfortunately, I can't give you a solution. We used J-Flash (GUI) and were also unable to flash the device.

    I am excited to see what TI would report to your problem.

  • Have you tried to do a factory reset by TI-Flasher? In my experience, this is the best way to get the Device back working. 

  • I will share any solution that our FAE can establish.

  • Attempting a factory reset results in the same behaviour as when our board was bricked, the UniFlash tool just sits spinning on a Factory reset auto:

  • Hi Chris,

    Sorry for reply later, does this issue still not resolve? do you need further support? Any update from your side?

    Thanks!

    Best Regards

    Johnson

  • Hi Johnson He,

    I can tell you that I still see the problem on my side. Maybe you can try to flash a LP-MPSPM0L2228 with a Segger flasher. I'm pretty sure you will get the same error. It would be great if TI can find a solution.

    Regards,
    Timo

  • Hi Timo,

    I only have J-link in my side, does same with your side? Thanks!

    Best Regards

    Johnson

  • Hi Johnson He,

    yes, I also use a J-Link.

    Regards
    Timo

  • Hi Timo,

    I just tried in my side, no issue here:

    Thanks!

    Best Regards

    Johnson