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.

CC430F5137: MSP430Flasher doesn't work with current firmware release files

Part Number: CC430F5137
Other Parts Discussed in Thread: UNIFLASH

CC430F5137
Code Composer Studio
Version: 10.0.0.00010
OS: Windows 10, v.10.0, x86_64 / win32
Java version: 1.8.0_144
MSP430Flasher 1.03.19 & 1.03.20
MSP-FETFlash (2 different devices tested)

We use MSP430Flasher, it is called from an C# application we use for flashing. Now it doesn't work properly and the results doesn't make sense.
I have 2 different hex files for the same product, it contains a bootloader & application. One supports onboard EEPROM, other doesn't have that support. EEPROM version is smaller.
Flashing using CCS (load file) or UniFlash works all the time (both firmware versions).
After flashing with MSP430Flasher the device hangs, as if not being reset(?). Then if I use a debug configuration that "loads symbols only" and connect to target, press [Play], the device starts as it should.

When I run MSP430Flasher from the command line after successfully getting the device started from CCS/UniFlash I can successfully flash the non-EEPROM hex file successfully, but not EEPROM version.
Veryfing memory via UniFlash shows it is OK.

MSP430Flasher output does not report errors.

This is the command used :

MSP430Flasher.exe  -e ERASE_ALL -n CC430F5137 -w "<hexfile>" -v -z [VCC, RESET]

Is MSP430Flasher being phased out?

  • Been playing with UniFlash and the command line information is scarce.

    Anyways, this command succesfully flashes and starts the device using the EEPROM hex file that doesn't work via MSP430Flasher:

    dslite -c CC430F5137.ccxml -s "MSP430DownloadOptions"="Erase main and information memory"  -e -f -v "<hexfile>"

    For example, where do I find a list of settings and possible values for a certain MCU? Is it via the UniFlash UI that one usually get those IDs and value?

  • OK so today I could get into the same problem again with the EEPROM file not starting *and* with UniFlash command line.

    dslite.bat -c "CC430F5137.ccxml" -s "MSP430DownloadOptions"="Erase main and information memory"  -e -f -v "<hexfile>"

    Executing that would make the device end up in the state that it can't start, regardless of power cycle.

    Using UniFlash GUI did however work, it has always worked. So I generated a Standalone Command Line Package and that didn't work either, same problem.

    Checked the command being used and although "Run Target After Program Load/Flash Operation" was checked that parameter didn't make it to the Stand Alone Command Line Package.

    This command now works (-u added) :

    dslite.bat -c "CC430F5137.ccxml" -s "MSP430DownloadOptions"="Erase main and information memory"  -e -f -v -u "<hexfile>"

    Original question still stands though, what could be the reason MSP430Flasher doesn't work.

  • Hello Jerker,

    I am looking into this and will have further feedback shortly.

    When using MSPFlasher, does it ever produce an error code or just hangs indefinitely? 

  • Hi Jerker,

    We are unaware of this behavior, but considering that you had some luck replicating a similar behavior with UniFlash and solving it with ''-u", it might be good to try different exit combinations for MSPFlasher:

    Now, although MSPFlasher will continue to be available online, we are recommending to use UniFlash.

    I assume you are trying to use MSPFlasher since you used it before, but would UniFlash be an option for you?

    Regards,

    Luis R

  • MSP430Flasher never hangs and we haven't seen any error code.

  • Yes, I re-wrote our application to use UniFlash since we had this problem. Although it leaves some uneasiness that do we have something wrong in the firmware.

  • I tried different VCC before without any change in outcome. This is how it looks after a failed flash.

    * -----/|-------------------------------------------------------------------- * * / |__ * * /_ / MSP Flasher v1.3.20 * * | / * * -----|/-------------------------------------------------------------------- * * * Evaluating triggers...done * Checking for available FET debuggers: * Found USB FET @ COM6 <- Selected * Initializing interface @ COM6...done * Checking firmware compatibility: * FET firmware is up to date. * Reading FW version...done * Setting VCC to 3600 mV...done * Accessing device...done * Reading device information...done * Loading file into device...done * Verifying memory (<hexfile>)...done * * ---------------------------------------------------------------------------- * Arguments : -e ERASE_ALL -n CC430F5137 -w <hexfile> -v -z [VCC=3600, RESET] * ---------------------------------------------------------------------------- * Driver : loaded * Dll Version : 31400000 * FwVersion : 31200000 * Interface : TIUSB * HwVersion : U 3.0 * JTAG Mode : AUTO * Device : CC430F5137 * EEM : Level 5, ClockCntrl 2 * Erase Mode : ERASE_ALL * Prog.File : <hexfile> * Verified : TRUE * BSL Unlock : FALSE * InfoA Access: FALSE * VCC ON : 3600 mV * ---------------------------------------------------------------------------- * Resetting device (RST/NMI)...done * Starting target code execution...done * Disconnecting from device...done * * ---------------------------------------------------------------------------- * Driver : closed (No error) * ---------------------------------------------------------------------------- */

  • Hi Jerker,

    That's interesting. MSPFlasher seems to be successful in verifying memory after programming. But then, if you try to read memory, you say that the contents are incorrect? Are there any particular Flash locations not matching your original file?

    Can you run some quick code right after reset to check if the device executes? I.e. LED toggle or something,

    Another test could be to run a CRC of the memory right after reset. The way you are describing the problem, it also sounds to me like there could be a problem with your application.

    Regards,

    Luis R

  • I have verified the memory using UniFlash after MSP430Flasher and that reported it was OK. So it must be something with resetting the device that isn't working properly.

    Yeah could very well be a problem with the firmware. As it works now with UniFlash this has lower prio but I will most likely return to this and I will update this thread with more info if I find antyhing new.

    Luis RC said:

    Hi Jerker,

    That's interesting. MSPFlasher seems to be successful in verifying memory after programming. But then, if you try to read memory, you say that the contents are incorrect? Are there any particular Flash locations not matching your original file?

    Can you run some quick code right after reset to check if the device executes? I.e. LED toggle or something,

    Another test could be to run a CRC of the memory right after reset. The way you are describing the problem, it also sounds to me like there could be a problem with your application.

    Regards,

    Luis R

  • Hi Jerker,

    Sounds good and thanks for the update.

    If you are OK, I will suggest to close this thread and open a new one referencing this thread. Otherwise, it might stay open for too long.

    Regards,

    Luis R

  • Absolutely, will do.