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.

MSP430F248: Need to change the MSP4320F248 firmware using the boot strap

Part Number: MSP430F248

Hi Team,

Our customer would like to change the MSP4320F248 firmware using the boot strap.
Do you have a step by step procedure on how to do this using Olimex MSP430-BSL board?

Thanks!

Jonathan.

  • Jonathan,

    The steps can be found at the link below.

    http://www.ti.com/tool/MSPBSL

  • Hi Eddie,

    Thank you very much for your response.
    I already give the information in this link and the user guides to the customer. Here is the response I got form the customer:

    They are trying to download firmware into a MSP430F2481 microcontroler.

    The programing fuse was blowed, so standard download using FET interface is not working. This microcontroler is from older lines of Texas 
    Instrument, therefore once the fuse is blowed it is not reversible.



    Is there any other procedure for the old TI microcontroler?

    Let me know if you need other information.

    Regards,

    Jonathan.

  • BSL flashing for that part is provided by the BSLDEMO2 program provided by TI.  But unfortunately, the Olimex device does not work with it, nor does TI offer any hardware interface device that does.  However, you can use an unofficial modified version of BSLDEMO and a generic USB-to-Serial adapter (with its driver installed) such as the FT232, CP2102 or CH430G - so long as it provides DTR (for /Reset) and RTS (for TCK).  The software can be found at this repo as BSLDEMO-2.01c.exe:

    https://github.com/gbhug5a/MSP430-BSL

    Both the new "-i" and "-j" options should be selected since this chip has a TCK pin and not a TEST pin.

    BSL requires that you provide the correct password, which is the contents of the 32-byte interrupt vector section of MAIN memory from 0xFFE0 through 0xFFFF.  If you don't provide that, or provide the wrong password, a mass erase will be performed - including the calibration data in INFOA, which will effectively destroy the chip.  If you know the correct password, the Program Flow Specifier "a" in BSLDEMO will back up the contents of INFOA before doing a mass erase, and restore it after, and should always be selected.

    I don't know for sure if the blown JTAG fuse will interfere with the BSL process, but I doubt it will.

    Obviously, it would be good to practice such an update with another chip from this generation such as the G2553 (which however does NOT require the "-j" option).

  • Hi Jonathan,

    I'm trying to use  a generic USB-to-Serial adapter  as you sugest but when I send the command  "bsldemo-2.01c.exe -cCOM3" the answer is "ERROR: Synchronization failed!"
    Any suggestion?
    thanks a lot,
    Edson
  • Hi Jonathan,

    I got it!

    Now it works. I use these commands:

    bsldemo-2.01c.exe -cCOM3 -i -j

    bsldemo-2.01c.exe -cCOM3 -i -j -s0 TesteRP2001.txt

    Thanks a lot,

    Edson

  • Hi Edson,

    We are grateful that the suggestion above by George was useful. 

    We are happy to resolve your inquiries and thank you for being with TI.

    Thank you very much.

    Regards,

    Jonathan

  • Jonathan,

    By the way, when I use the command: bsldemo-2.01c.exe -cCOM3 -s0 -i -j -r4000 ffdf edson.txt

    The file edson.txt is full of "FF". 

    If at the beginning of the program I mention that the starting point of flash memory is the address 4000 (@ 4000), shouldn't it show something different of FF?

    Thanks,

    Edson

  • It appears you have not specified the Program Flow Specifiers in your command line, which default to +ecpvr.  The "e" is a mass erase.  So you appear to have erased the chip, probably including the calibration data, which is why you get the FFs.  My version of BSLDEMO does not change any of TI's defaults.  It only adds the -i and -j options.  You need to add the +a Specifier, which will protect INFOA from the +e Specifier.

    But you also don't specify any password, so the entire chip will be erased anyway, regarless of the Specifiers.

    Perhaps Jonathan can point you to a User's Guide for BSLDEMO, if there is one.  But you should study the screen produced by the "-h" help command.

  • Hi George,

    Although I erased all the memory, including the calibration part, when I write the program should it not appear something at address 4000 (@ 4000) where the compiler set the initial position of my firmware in memory?

    @ 4000
    4C EB CD 3E ...

    Thanks 

    Edson

  • If your read command is working, it's because BSLDEMO is providing the default password, which is all FFs, but that password would be successful only if the chip has been erased.  The read command, which works only after the correct password has been submitted, will produce a file containing all FFs, whcih is what's in memory at that point.

    To read valid code data there, you would need to flash the code again (which may not be possible with calibration data gone), then read it back while providing the password.

**Attention** This is a public forum