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.

MSPM0L2228: NRST not working as expected

Part Number: MSPM0L2228
Other Parts Discussed in Thread: MSPM0G3507,

Tool/software:

Hi,

I am using XMSPM0L2228SPMR for my recent project. There seems a bug with the nRST pin (with 100K and 10nF), the MCU can't be power-on correctly. If I power it off -> delay 0.5s -> power it on, then it can work sometimes. If the delay time > 1s then it will never boot-up.

If the program is loaded and run by debugger then it can work every time.

To identify if the program is running or not, a very simple code in main() is used to initialize a GPIO pin and then toggle the pin in a while(1) loop. I can observe the GPIO output signal is toggling in oscilloscope. If it is failed to boot-up then the signal is not toggling. Instead, the signal looks like it is floating. I guess the iomux initialization code is never executed so that the pin is floating.

I have tried different R/C combination for nRST pin, for example, 47K + 10nF, 100K + 1uF, 100K + 4.7uF...... Finally, 100K + 10uF can do the job well. So, we nee a pretty long nRST delay time to overcome this issue. So far "100K +10uF" is my workaround solution. Hope that this experience can help TI team to identify this issue before mass production.

Btw, I never experience this kind of issue with MSPM0G3507 projects.

Robert.

  • Hi Robert,

    When it fails, can you connect the debugger and load in the symbols. My current suspicion is you're hitting the VBAT up NMI. You can also add a GPIO toggle into your default or NMI handler (since this is probably happening before your initialization you may need to initialize the GPIOs in this handler).

    I'm currently using the LP-MSPM0L2228 with gpio_toggle_output example. I have removed all jumpers on the XDS110 jumper block except the NRST jumper. I have fly wired 3.3V to VBAT.

    I have toggled the power:

    • Long power offs (~5sec) to a turn on
    • Short power offs (<0.5s) to a turn on
    • Rapidly pressing power on and off (untimed but would turn off and on as soon as I saw the initial light blink)
    • Also a couple untimed turn on and offs while I was writing this post.

    and I have toggled the NRST:

    • Long press >1s
    • Short press <0.5 sec
    • Rapidly pressing NRST on and off.

    I did this test on 2 separate boards with the same result.

    Regards,
    Luke