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.

MSP430 flash-base I2C BSL

Other Parts Discussed in Thread: MSP430F5172, MSP430F5419A, MSP-FET, MSPBSL

Dear All,

Recently I got some requirements form our customer that need use I2C BSL to update FW of MSP430F5419A and MSP430F5172.

but as we knew that those P/N have original UART BSL in BSL flash memory and it seems have no flash base I2C BSL for MSP430F5419A or MSP430F5172.

I have downloaded the MSP430/MSP432 Custom Bootloader (BSL) Package on TI web side http://www.ti.com/tool/mspbsl but there are no I2C BSL for those P/N it just has I2C BSL code for MSP430F522x.

Is there flash base I2C BSL image or source code for MSP430F5419A and MSP430F5172 in TI ?

or may I modify the UART BSL of Custom Bootloader to I2C or I must to implement the MSPBoot in main program?

Which one is the best method?

Dose anyone can suggest this issue for me? 

thanks

 

Jerrel

  • Hello Jerrel,

    You are on the right track here. In order to get the specific interface you want (I2C) you will need to do a custom bsl with I2C Peripheral Interface (PI). It will be very similar to the MSP430F522x one already given. Section 1.3 and 1.4 of the Custom BSL USer Guide (http://www.ti.com/lit/slaa450) explain how a custom BSL is made and what PIs TI has already made available. The "5xx_6xx_BSL_Source" folder already has several versions of I2C PI depending on the peripheral you are using (eUSCIa, USCIB, etc). As you can see from the example BSL source, you would just need to replace the BSL_PI to the desired PI you want.

  • Hi JH,

    Many thanks for your help and I have modified the I2C peripheral of Custom BSL for MSP430F5419A successlly and
    it can be updated FW over I2C BSL now.

    I have another question, is there source code or utility of master I2C BSL on x86 plateform can referenced? due to I neeed
    to use x86 CPU I2C to update MSP430.
    thank you!

    Jerrel
  • Hello Jerrel,

    What you need here is the BSLSCRIPTER command line tool. This is located on the same MSPBSL webpage reference above. BSLSCRIPTER is a command line tool that allows you to program your MSP via BSL. For your HW connection, you either need a BSLROCKET or a MSP-FET.

    If you are wanting to update the MSP via I2C BSL in an embedded system, we do not have source code for this. We do provide the protocol definition as you have seen while looking at the Custom BSL documentation. In an embedded system, you will need the following HW connections between your host and the MSP to program via I2C BSL. Your two I2C lines (SDA, SCL), TEST, and RST. TEST and RST are needed in order for the device t be invoked via HW. Please follow the invoke sequence described in the BSL documentation. Alternatively, you can make a special I2C command in your application in order to invoke BSL via SW.
  • Hi JH,

    Thanks for your comment and actully I already had used BSLSCRIPTER command line tool with BSLROCKET code to update FW via I2C as you said.
    What I need is to update the MSP via I2C BSL in an embedded system as above talked and thanks for told me that TI do not have this souce code so maybe I need to implement it by myself.

    By the way as I used BSLSCRIPTER command line tool with MSP-FET and I found that update FW via UART is workable but when I used I2C to update FW that will halted in RX_DATA_BLOCK command of BSLSCRIPTER so finally I used the BSLROCKET source code with F5528 to update MCU via I2C and it is workable.

    Jerrel

**Attention** This is a public forum