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.

MSP430F5259: No Tool support for I2C Bootloader

Part Number: MSP430F5259
Other Parts Discussed in Thread: MSP430F5255, , MSP-FET

I designed an MSP430F5259 into a project I am working on.  I'm trying to fire up the BSL now, and I notice there is no library support for the BSL via the I2C interface.  I'm not sure what to do now.  My best guess is to switch to the MSP430F5255 which uses the UART for the BSL and has tools support.  Any thoughts?   The problem with the 5255 is that it's much harder to get.  I wonder why there is no tool support for the I2C bootloader, that caught me by surprise.  I bought the Rocket BSL and I thought it would be a pretty easy thing to get up and running but no such luck.

  • Hi,

    F5259 support UART BSL, F5255 support I2C BSL.

    Thus you have to use UART protocol to download image via BSL if F5259.

    Thanks!

    Best Regards

    Johnson

  • Hi, thanks for your response but I find your response confusing.  You show the table, and then you state the exact opposite is actually true.   My problem is that TI is offering the I2C interface, but hasn't gotten around to writing the support firmware.  The tools only support the UART option.  I wish I had seen this table before I got started, I would have simply used the 5255 to begin with.  Seems TI only supports the UART interface in the 5xx family.  I'm stuck with the 5259 and the I2c interface and no tools support.  I guess switching to the 5255 is my only option unless I want to write the firmware for the I2C bootloader to run on the Rocket interface board.  

  • This last table is confusing. "UART only" is on F5xx family without USB hardware module, and on F5xx family with USB hardware module is "all". This is not related to I2C on any way.

    If you can't find I2C TI BSL device sources (I didn't check, but I am know that UART and USB exists), you can dump binary from similar device  and try it on your target device. Unfortunately I don't have any F5xx device with I2C BSL and can not attach it here.

    BTW, I guess that you already know that MSP FET as master device support UART and I2C BSL connection with target. And that PC side and MSP-FET firmware is open source (where BSL I2C related master code is).

  • I am trying to use the BSL Scripter and getting this rejection.

    If I put in UART instead, then the tool will accept that.   I thin the wording is unfortunate, they should say that the I2C protocol is not yet supported.

    I2C doesn't work, and that table says it is not supported.   I think I am out of luck.

  • This error message is irrelevant. Please check topic where user is using FRAM I2C BSL script with F5239 target device ...

    https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/741384/msp430f5239-i2c-custom-bsl-for-msp430f52

  • In the F5xx family the 5259 uses I2C for BSL, and the 5255 uses UART for the BSL (for instance).   If you want to use the BSL Scripter tool you need to select the part that uses the UART port for BSL.  That's the way I am reading it now.    Changing to a 5255 part will not be too difficult, so I still have that as a not too painful option.  Using the UART port actually has some other advantages for me.   I appreciate all of the excellent feedback.  I will research some of the things you suggest. 

  • In the F5xx family the 5259 uses I2C for BSL, and the 5255 uses UART for the BSL (for instance).   If you want to use the BSL Scripter tool you need to select the part that uses the UART port for BSL.  That's the way I am reading it now. 

    No. You can use BSL scripter as it is with 5259 I2C BSL, with FRAM I2C BSL script (MODE FRxx I2C 400000 COM5) to bypass reported error because FRAM and F2xx I2C BSL interface is identical.

  • Wow, thanks for being persistent.  I did not understand that part.  I will give that a try.

  • I don't think I am hooked up correctly (wire-wise).  Can we agree that this is an error in the documentation?  I ignored these pins, I think they meant to put these tags on pins P4.1 and P4.2, but would like confirmation.  I'm connected to P4.1 and P4.2, but still not working, so I keep thinking about these two pins.  Are these two pins the correct ones I should be using?

  • I don' see error in F525x device datasheet related to BSL. In table 9.3 are pins (P4.1 & P4.2) for I2C BSL version. In table 9.4 are pins (P6.1 & P6.2) for UART BSL version. Did you connect BSLEN pin to master device (Figure 8-18. DVIO BSL Entry Timing)?

  • I am still struggling.  I am pretty sure I am hooked up correctly to the Rocket.

    I am noticing a few things.

    I am using FRxx as you suggested, and that seems to satisfy the scripter app.  However I notice these things.

    1) The target cpu is being erased.  That is a good thing, I expected that to happen, so some of the wires are hooked up correctly.

    2) I have never seen anything but failure to ACK

    3) I'm not surprised by failure to ACK, because I am monitoring the SCL clock line, and I have never seen it move.  The SCL line is free to move, it was sitting low without the pullup, but with the pull up on that line, it pulls high now, so it's free to move.

    4) I notice there is UART activity on pin 3, which might not be a problem, but never any activity on the SCL clock line.  Until the SCL line starts moving I have no chance of success.  

  • I have an MSP FET, you mention that it can also be used for this I2C boot loading task.  Do you have any documentation describing how to use the MSP FET for this?

  • Sorry to keep bugging you.  If you were going to do this from scratch, how would you do it?   Sounds like you would use the MSP FET?  I use code composer all the time for development.  Is there any support for BSL in code composer?

  • Hi,

    You can try to use FRxx_I2C example:

    Thanks!

    Best Regards

    Johnson

  • Good idea.  I think my main problem is no SCL clock.  Nothing I have ever done yet, has caused the Rocket to output the clock for the I2C.  The Rocket does output on the UART wire, so not sure what that means, it's ok to do both maybe, not sure what the point would be.

  • I am thinking of switching to my MSP FET.  Maybe it will have an I2C clock.  My Rocket never has an I2C clock.

  • I have started using my MSP FET and am getting much further now.  Instead of no clock with the Rocket, I now at least have an I2C clock. 

       Unfortunately the response I get to every attempt to converse with the 5259 is BSL is LOCKED!.

       I can see that the interface is at least running the I2C lines so now I at least have a chance for success.

    Do you have any examples of someone using the MSP FET and the BSL Scripter?

  • Hi Tom,

    MSP-Rocket and MSP-FET support I2C & UART BSL protocol.

    And FRxx_I2C scripter shoule can used in F5xx device, they keep same protocol.

    If you encounter BSL Locked issue, maybe need do mass erase command, then download image via BSL again.

    I can try those command use MSP-FET tomorrow maybe, any update will feedback here.

    Thanks!

    Best Regards

    Johnson

  • I got it working with the MSP FET.  Maybe I will go back and try the Rocket again.  

    The magic script line was the RX_PASSWORD.  You still need it for some reason even after MASS_ERASE, but the file I guess can be anything.

    All good now, thanks for your help.

  • Hi Tom,

    The password should all 0xFF(default) after mass erase, thus you have to use default password.

    This question have been resolved? Correct?

    Thanks!

    Best Regards

    Johnson

  • I can program over I2C now.  Thanks much.

**Attention** This is a public forum