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.

BSLDEMO2.exe Problem for MSP430 FW Upgrade

Other Parts Discussed in Thread: MSP430G2744

Hi,

when i use the BSLDEMO2.exe to do the FW upgrade the MSP430, all the data in INFO memory are erased to 0XFF,

below is my command:

BSLDEMO2.exe -cCOM38 -m1 +aepvrw MSP430G2744.txt

How to modify the command to avoid erasing the data in INFO memory?

by the way, is it possible to get the source code of BSLDEMO2?

  • HI Erik,

    As mentioned in SLAU319 (http://www.ti.com/lit/pdf/slau319 ) Section 2.4.4.4, a Mass Erase erases the entire flash memory including info memory.

    When programming a blank device (i.e. during production), you shouldn't mass erase the device (or you can unlock it with a blank password). When re-programming a device, you should provide the correct password. 

    The source code for BSLDEMO2 is included in the BSL Programmer Package found here: http://www.ti.com/tool/mspbsl

    Regards,

    Luis R

  • Dear Luis,

    Still, we got error response as re-programming the device by the following command:
    ..\Exe\BSLDEMO2.exe -cCOM38 -pPW.txt +pvrw MSP430G2744.txt (without mass erase)

    Note that "PW.txt" is the correct password from interrupt vector of device.


    However it will be successful by using the command:
    ..\Exe\BSLDEMO2.exe -cCOM38 -m1 -pPW.txt +aepvrw MSP430G2744.txt (with mass erase)

    Is there any restriction or limitation if the parameter is without mass erase?
  • Hi Ihuseh,

    You need a mass erase to program a new application. Otherwise, you'll be writing on top of the existing memory.

    Regards,
    Luis R
  • Hi Luis,

    Thanks for your prompt reply.

    Do you mean for a programmed device, it always needs a mass erase before reprogramming?
    If yes, is it right the parameter "+a" still needed for restoring InfoA? That is to say, "+aepvrw" appears to be the best option for reprogramming.

    Do you know that the term, "InfoA segment" mentioned in SLAU319 equals "information memory"? Total 256 bytes from address 0x1000?
  • Luis,
    I have some doubts about this subject too. May I present my understanding here for you to correct me? This might help Erik and Ihuseh too.
    --OCY

    Erik and Ihuseh,
    My understanding is as follows.
    (a) BSLDEMO2 is one of the early variations of BSLDEMO. But it has long been superseded by later versions BSLDEMO.
    (b) The latest version of BSLDEMO is version 2.01. The source code can be found in the BSL Programmer Package: http://www.ti.com/tool/mspbsl under BSL_Files\Deprecated\BSLDEMO\SOURCE.
    (c) In addition, the BSL Scripter is a command line tool to communicate with the Bootstrap Loader (BSL) on a MSP430 and MSP432. But it does not support MSP430F2xx, F4xx, or G2xx. I do not know if TI is going to support those MSP430 chips in the near future, or deprecate those chips as well.
    --OCY
  • Hi Old Cow Yellow,

    You are correct in your comments. The only thing I would say is that BSLDEMO and BSLDEMO2 are pretty much the same thing. The folder and Visual Studio project are called BSLDEMO, but the executable is BSLDEMO2. 

    The project is said to be deprecated but it's still the tool most commonly used for 2xx/4xx BSL. Eventually, we might integrate the functionality to BSL Scripter (or some other tool). I also want to clarify that there are NO plans to deprecate these devices or stop their support in the foreseeable future. 

    Ihuseh,

    Info memory is divided into 4 segments of 64B each. Info A is only one of these segments and it can contain calibration constants as mentioned in the datasheet:

    Mass erase is always required and the parameters you mention look OK.

    Regards,

    Luis R

  • To Old Cow Yellow,
    Thanks for your attention to this matter.


    To Luis,
    Thank you for providing the requested information.

    Just want to be thorough:
    Before reprogramming, I did notice that some of msp430 chips have already 10 bytes data from address 0x1000(in Segment D).
    Only segment A could be restored, once I use "+aepvrw" to reprogram the chip. Segment B,C and D are erased.

    Any side effect it may cause or any concern if other segments except for A in information memory are erased?
    i.e., Segment B,C and D are irrelevant for general development?

  • Only InfoA has calibration data. Please refer to the corresponding datasheet for more information

    Regards.

    Luis R

**Attention** This is a public forum