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.

MSPM0G3519: sdk for single bank bootlader support

Part Number: MSPM0G3519

We are looking for a bootloader for part number M0G3519QRHBRQ1 that can perform a secure software update in a single bank. We do not want to use a dual-bank design, as our application size is large and updates will be performed via CAN. A plugin-based design will be used, based on various references we have reviewed.

Could you please advise where to start and which SDK example is relevant for our use case? All the examples we have found so far are based on dual-bank implementations.

Thanks in advance

  • Hi Mahantesh,

    All the CAN bsl examples in the SDK for this device use only Bank0. The bsl_can_flash_interface and bsl_host_mcu_to_mspm0gx51x_target_can examples can work together to interact with the ROM bootloader. If you want to create a secondary bootloader, the secondary_bsl_can example is a good resource as well.

    Best Regards,
    Brian

  • Hi Brian Lee, 

    Thank you so much for your swift reply 

    we are in still starting phase of it and little confused can help us with below mentioned doubts..

    Requirements: Secure boot must be implemented on the TI MSPM0G3519 (MSPM0 family) without using a dual-bank flash architecture. The application firmware will be updated by erasing and reprogramming the on-chip flash over CAN-FD.

    I am trying to understand the correct bootloader and security architecture for this use case. In particular, I am confused about the roles and interaction between the TI CAN-based BSL (ROM bootloader) and the customer secure boot / security-related code provided in the MSPM0 SDK.

    To meet the above requirements, I would like guidance on the recommended design approach for the MSPM0 family:

    • Is a secondary (custom) bootloader in flash required in addition to the TI CAN-based BSL to support secure boot?

    • Or can the ROM CAN BSL alone handle authenticated firmware updates and enforce secure boot for a single-bank flash update?

    Any clarification on the expected boot flow, secure boot enforcement point, and recommended TI reference examples or SDK components for implementing secure boot with single-bank flash updates on MSPM0G3519 would be greatly appreciated.

  • Hi Mahantesh,

    Apologies for misinterpreting your initial request. 

    With regards to boot flow, at each device boot first the Boot Configuration Routine (BCR) runs and is responsible for enabling the device security features including bank swap (not required) and Customer Secure Code (CSC), as well as enabling the BSL (ROM or Secondary). Secure Boot settings from the BCR are enforced at its completion. If enabled and properly invoked, the BSL (ROM or secondary) will be entered into next. If BSL is not invoked or is exited, the CSC will be entered into next if enabled.

    The TI ROM Bootloader does not natively support CAN communication, only UART and I2C.

    If you would like everything present in the CSC SDK examples without the dual bank implementation, you will need a secondary custom bootloader. The ROM bootloader is only password protected upon connection and cannot decrypt encrypted images. If your only security requirements are those that can be configured directly by the BCR and not the CSC, then the ROM bootloader can be used with the addition of a CAN interface and valid core commands.

    The CSC example can be modified to work for only one bank. In combination with the other bsl examples I mentioned in my initial response, I believe they should meet all your requirements.

    Best Regards,
    Brian