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.

MSPM0G3107: Production programming of secondary bootloader (CAN based) and recommendation on ensuring flash image integrity

Part Number: MSPM0G3107


Tool/software:

Team,

Posting on behalf of my customer.

As it relates to full production programming of the MSPM0G3107.  My customer would like to use a Secondary Bootloader to employ the CAN interface instead of the traditional bootloader which uses the UART/I2C.  They have looked through the BSL guide and understand how to create a secondary bootloader and use the flash-plug, but how do you program new devices in a production environment with the secondary bootloader?  What is the methodology here for secondary bootloaders programming on a mass scale?

On a similar vein, what is the recommendation for partitioning the on-chip flash memory to store time stamped information in a manner than minimizes the probability of corrupting the application (image) data residing in the same flash (128kB)?

I've come across the following E2E posts, but I don't think they fully address these questions.

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1314734/lp-mspm0g3507-secondary-bootloader-updating-bcr-application-crc-check

 https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1397236/mspm0g3507-how-to-add-crc32-in-the-secondary-bsl/5354094?tisearch=e2e-sitesearch&keymatch=how%252520to%252520Flash%252520a%252520secondary%252520bootloader%252520at%252520production%252520MSPM0#5354094

Please advise.

Thanks,

Tom

  • Hi Tom,

    I'm not sure I understand correctly: you mean that the customer would like to flash the device with the secondary bootloader code, then again in the production environment program with the bootloader plug in? 

    I do not believe that the expectation for a secondary bootloader is that it is utilized for mass programming devices in a production environment. The ROM bootloader, and SWD methods of programming the device are the anticipated methods of programming production devices as there are many tools to perform this programming. Then the bootloader plugins would be effective for once the device is already in use in the field.

    As for partitioning on chip flash, our recommendations are pretty much limited to reserving a separate sector (or multiple sectors) for this time stamped information, then writing to them using our driverlib flash memory functions with the flash controller.