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.

MSPM0G3507: How to run the secondary bsl first upon startup, and then, based on conditions, decide whether to enter the application.

Part Number: MSPM0G3507

Tool/software:

The secondary BSL is not the first to run when the application has been downloaded.

I am afraid that a sudden power outage during the upgrade process could render the program inoperable and prevent it from being upgraded again.

  • Hi Greg,

    It is same as ROM BSL. If you not pull up your invoke pin while power on, you will not enter into secondary BSL.

    Regards,

    Zoey

  • Hi Zoey,

    I want the system to default to running the secondary BSL upon power-up and startup, and then transition to running the application through other means. This sequence should also occur after every reset.

    I want to prevent situations where the flash memory is not fully read or written during the upgrade process and is unexpectedly interrupted, causing the system to not start from the secondary BSL after reset, thereby affecting the MCU firmware's ability to be upgraded again.

  • Hi Greg,

    Totally agree with you, but please be note: the check whether enter BSL will happen in ROM boot code, not in secondary BSL. So:

    1. From my understanding, if your secondary BSL has been static protected, you can also use hardware(invoke pin) to make your MCU into BSL mode whether your BSL program is successful or failed.

    2. To minimize this as much as possible, you can try to keep the first 16 bytes of the program and burn the later bytes first. And BSL will check whether your 0x0000 has been burnt, if not, it will enter BSL mode.

    Regards,

    Zoey