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: IAP in-application-programming to flash MSPM0G150x

Part Number: MSPM0G3507

Tool/software:

Hi, how can I do IAP in-application-programming for MSPM0G150x to flash its firmware image where the custom board is at a remote location?  I couldn't find any examples.

Is there any mspm0 microcontroller with IAP interface support?

Thanks.

  • Hello HIEP,

    I think that maybe the IAP GUI can't be used in M0 directly. But if you just need a method to update the firmware of M0 when you can't use the debugger and the SWD interface, and must use the UART, I2C, etc, the BSL function is a good choice for you to update the firmware of M0. The example code of BSL can be found in the SDK which can be download from ti.com, and the user guide of BSL can be download from ti.com too. The GUI for BSL can be found in the previous version of SDK (don't look for it in the latest version).

    Best Regards,

    Janz Bai

  • if I chose UART as the main interface to do FW update of M0 mcu, which BSL demo example in MSPM0 SDK can I start looking at?

  • Hello HIEP, 

    You can find the BSL demo using UART from SDK: example - > nortos -> LP_MSPM0G3507 -> bsl. 

    Best Regards,

    Janz Bai

  • hi, the BSL example "bsl_software_invoke" only show how to connect to device and get BSL entry.  

    Is there a full demo of BSL connection and also erase/program new firmware image into the flash memory of M0? Thanks.

  • Hello HIEP,

    The default BSL code (include the BSL core and BSL interface) will be pre-burned into ROM before leaving the factory.

    The "bsl_host...." code is used to download into another MCU which is host (if you choose to use another MCU as a host)

    The "bsl_xxx_flash_interface" is the API which should be downloaded into target MCU before you use BSL to update your firmware, if you don't want to use the default BSL interface defined in the ROM.

    The "secondary_bsl..." is the secondary BSL code which should be downloaded into target MCU before you use BSL to update your firmware, if you don't want to use the BSL core and BSL interface defined in the ROM.

    You can refer to these files to learn about BSL:

    The user guide of BSL: MSPM0 Bootloader User's Guide (ti.com)

    The Application notes of MSPM0 Bootloader (BSL) Implementation: MSPM0 Bootloader (BSL) Implementation (Rev. B)

    Best Regards,

    Janz Bai