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.

TIDA-050026-23881: reference code to update the MSP430F5234 fw

Part Number: TIDA-050026-23881
Other Parts Discussed in Thread: MSP430F5234, 4428, USB2ANY

hi,

My customer wants to update the MSP430F5234 through i2c bus.

I check the doc below.

10-1-20 TPS2388xPSESystemFirmwareHostInterfaceProtocolUsersGuide_SLVAE54B.pdf

there is flow to get into BSL mode.

Figure 7-1. BSL Firmware Update Flow

Do you have example code for this?

My customer's OS is Linux.

There is reference code below. Can they use that? 

https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/i2c_bsl_linux_tools/latest/index_FDS.html

BR,

Frank

  • Frank,

    We don't have an official reference code on TI.com. But you can open the FirmPSE GUI and use it to update the FW. Then you can follow the steps below to review how the GUI sends command to do BSL update. Thanks.

    1. Right click the application and click “Inspect”
    2. Dev tools window will be opened
    3. Navigate to the console tab
    4. Right click and “select save as” option
    5. The log file will be generated

    Best regards,

    Penny

  •  Penny,

    from log file, I don't know how to send the command to program the image in MSP.

    Do you have detail explanation for command 0x80?

    also, the command to verify the fw in flash.

    ti-tile-bslmode-page.html.js:476 data: (86445) ['@1000', '05', '3C', '80', '00', '14', '10', 'FF', '3F', 'FF', '3F', 'FF', '3F', '30', '40', 'D4', '17', '00', '08', '08', '94', '3D', '90', 'AD', 'DE', '04', '20', '3E', '90', 'EF', 'BE', '01', '20', '03', '3C', '0C', '43', '0D', '43', '10', '01', '3C', '41', '3D', '41', '10', '01', '0C', '43', 'B2', 'B0', '10', '00', '80', '01', '03', '20', 'B2', '93', 'FE', 'FF', '01', '20', '2C', 'D3', '10', '01', '0A', '15', '1E', '42', '16', '27', '5C', '4E', '03', '00', '0D', '43', '4D', 'EC', '0D', 'EC', '8D', '10', '4C', '4C', '8C', '10', '5F', '4E', '02', '00', '0C', 'DF', '4D', 'EC', '0D', 'EC', '8D', …]
    ti-tile-bslmode-page.html.js:439 addressSegments: (2166) ['1000', '1028', '1050', '1078', '10a0', '10c8', '10f0', '1118', '1140', '1168', '1190', '11b8', '11e0', '1208', '1230', '1258', '1280', '12a8', '12d0', '12f8', '1320', '1348', '1370', '1398', '13c0', '13e8', '1410', '1438', '1460', '1488', '14b0', '14d8', '1500', '1528', '1550', '1578', '15a0', '15c8', '15f0', '1618', '1640', '1668', '1690', '16b8', '16e0', '1708', '1730', '1758', '1780', '17a8', '17d0', '17f8', '1802', '182a', '1852', '187a', '18a2', '18ca', '18f2', '191a', '1942', '196a', '1992', '19ba', '4400', '4428', '4450', '4478', '44a0', '44c8', '44f0', '4600', '4628', '4650', '4678', '46a0', '46c8', '46f0', '4718', '4740', '4768', '4790', '47b8', '47e0', '4808', '4830', '4858', '4880', '48a8', '48d0', '48f8', '4920', '4948', '4970', '4998', '49c0', '49e8', '4a10', '4a38', '4a60', …]
    ti-core-hardware-layer.html.js:38 Command Packet for Data Chunk- 0 : (49) [128, 44, 0, 16, 0, 16, 0, 5, 60, 128, 0, 20, 16, 255, 63, 255, 63, 255, 63, 48, 64, 212, 23, 0, 8, 8, 148, 61, 144, 173, 222, 4, 32, 62, 144, 239, 190, 1, 32, 3, 60, 12, 67, 13, 67, 16, 1, 197, 217]
    ti-core-hardware-layer.html.js:47 Command Response for Data Chunk- 0 : (8) [0, 128, 2, 0, 59, 0, 96, 196]
    ti-core-hardware-layer.html.js:38 Command Packet for Data Chunk- 1 : (49) [128, 44, 0, 16, 40, 16, 0, 60, 65, 61, 65, 16, 1, 12, 67, 178, 176, 16, 0, 128, 1, 3, 32, 178, 147, 254, 255, 1, 32, 44, 211, 16, 1, 10, 21, 30, 66, 22, 39, 92, 78, 3, 0, 13, 67, 77, 236, 88, 17]
    ti-core-hardware-layer.html.js:47 Command Response for Data Chunk- 1 : (8) [0, 128, 2, 0, 59, 0, 96, 196]

    BR,

    frank

  • Frank,

    There's detailed instruction in the host interface protocol(you can get it from FirmPSE MySecure folder). Please check the document section 7.11. Thanks.

    Best regards,

    Penny

  • Penny,

    I know 7.11. I use GUI + usb2any and try to update the fw. It fails when MSP get into BSL mode because the boot code is not PSE boot code. Not sure why?

    I need to use JTAG to update the PSE fw with boot code first. Then I can use GUI + USB2Any to update the code.

    So, my question is if there is other way not using JTAG to update the boot code? I need this because my customer already shipped the product to their customer. Their customer doesn't have JTAG.

    BR,

    frank

  • Frank,

    You will need to load the BSL code from FirmPSE Mysecure folder before using the BSL FW update feature. We don't use the default MSP430 BSL code as our FW needs to be loaded through I2C or UART(the same port as the host interface) which can only be done through custom BSL. 

    I don't think there's a way to update the BSL code without JTAG, but you can double check with MSP430 group. Thanks. 

    Best regards,

    Penny