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: Are BSL and BIM mutually exclusive?

Part Number: MSPM0G3507

Tool/software:

Hey there!

When reseaching about BSL (Bootstrap Loader) I came across BIM (Boot Image Manager).

I am wondering if I can use both in combination?

I would like to use some software like the "bim_sample_image" to create Signed Application Images in binary format.

Then transfer this Application Image to my BSL Host.

Then send this Application Image from the BSL Host to the BSL Target by UART.

Program the Image to one of the two Flash-Slots managed by the BIM.

Use the BSL for CRC-Checksum-Check.

Use the BIM to verify the signature of the Application Image in the selected Flash Slot.

  1. Does BSL need Application Images in .hex format or can it also cope with .bin Application Images?
    1. I am unsure about that because the BIM seems to need binary .bin Images but the BSL seems to need .hex-Images.
    2. Can you please tell me if and how this discrepancy can be solved.
  2. In the default BSL usecase the BSL would reset the device after having successfully received the Application Image and then boot the device with the new Application Image.
    1. Can this also be taken over by the BIM that choses if the device should boot from Slot 1 / PRIMARY_IMAGE oder Slot 2 / SECONDARY_IMAGE?
  3. Am I missing any advantages or disadvantages in this approach?

Thanks a lot in advance for your answers, tips and additional advice concerning this issue!

Matze

  • Hi Matze,

    Does BSL need Application Images in .hex format or can it also cope with .bin Application Images?

    BSL doesn't care what's your images format, actually you need transfer it to the format that your host could recongnized, then it will send the image by the interface you used. This is what your host need to handle.

    For example, if you are using ROM UART BSL, then you need follow standard BSL protocol provided in TI MSP ROM , to send out the image informationr. If need customized, you can individually develop the protocol by yourself and using secondary bsl in device to meet it.

    -> The host is not provided be default, we give some examples in SDK. In SDK, it uses "Array" within the code to transfer image.

    In the default BSL usecase the BSL would reset the device after having successfully received the Application Image and then boot the device with the new Application Image.

    From my perspective, BIM is the default image, which decide to use the second one, which could be Slot1, or others.

    The bsl provided by TI ROM, after it reset by bsl, it will enter the default image which locate dat 0x0 in your flash memeory -> This is your BIM. Then BIM work.

    Or if not bsl triggered, after it reset or re-power, device will run BIM directly.

    B.R.

    Sal

  • The bsl provided by TI ROM, after it reset by bsl, it will enter the default image which locate dat 0x0 in your flash memeory -> This is your BIM. Then BIM work.

    I guess that it is likewise possible to configure secondary BSL to enter the default memory position 0x0 where the BIM will be located, right? I need secondary BSL because I need UART1 instead of default UART0. Where do I have to edit my configuration to tell the BSL from which memory position to start the BIM?

    Thanks and regards,

    Matze

  • Hi Matze,

    I guess that it is likewise possible to configure secondary BSL to enter the default memory position 0x0 where the BIM will be located, right?

    Yes, when using secondary bsl, it could do enter default image at 0x0, or even others location.

    For the secondary bsl, you can treat it as the bsl image in your code flash, and user could enter bsl image by bsl invoke.

    I need secondary BSL because I need UART1 instead of default UART0.

    By the way, for rom bsl, user could select using flash interface for using different UART perioheral with default ROM BSL. This could save partial flash memory usage, and will using rom bsl code to update firmwave in flash.

    The secondary bsl is the fully bsl defined by user, and only the entry method keeps the same.

    Where do I have to edit my configuration to tell the BSL from which memory position to start the BIM?

    Actually, if BIM is at 0x0 flash address, then you could reset the device without bsl invoke, then the device will entry BIM. This might be the simplest way I think.

    B.R.

    Sal

  • Hi and thanks Sal,

    By the way, for rom bsl, user could select using flash interface for using different UART perioheral with default ROM BSL.

    How and where do I have to make the configs for ROM BSL with UART1? I didn't know that this is possible!

    Regards,

    Matze

  • Hi Matze,

    You can refer below SDK example:

    B.R.

    Sal