Part Number: MSPM0G3507
Other Parts Discussed in Thread: SYSCONFIG
Recently, during development, our MCU became locked and displayed 0x0036. It looks like the NONMAIN area became empty, so the device could no longer boot.
To prevent this from happening again, we are considering the following workaround. Could you please check whether our understanding is correct?
-
Disable BSL
By default, the BSL GPIO invoke pin is PA18. We are also using this pin as UART RX, so it might accidentally trigger BSL mode.One question: if I uncheck "Enable BSL", why is the GPIO invoke option still available?

Is it better to:
- uncheck Enable BSL completely, or
- keep Enable BSL checked but disable GPIO invoke only? like the following screenshoot.

-
Flash erase option
For debugging, we select "Erase MAIN and NONMAIN necessary sectors only" instead of "Erase MAIN and NONMAIN".Our understanding is that if Erase MAIN und NONMAIN is selected, the debugger first erases both MAIN and NONMAIN. If an error occurs before the new NONMAIN configuration is programmed, the NONMAIN area remains empty. Since the device cannot boot without a valid NONMAIN configuration, it may become permanently locked.
Is this understanding correct?
- Do not program
boot_config.cafter the first successful programming
After the initial programming, we excludeboot_config.cfrom subsequent debug downloads. This way, the valid NONMAIN configuration is preserved and will not be overwritten during later debug sessions.
is that working to avoid this issue?
Thank you in advance :)
Best regards
Zq