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.

Problem with MSP430FR5739 : FET returned error code 4 (Could not find device or device not supported)

Other Parts Discussed in Thread: MAX232, MAX3243, MSP430FR5739, MSP-EXP430FR5739

Hi,

Below are the Host system setup

Processor : 64 bit processor

OS : Ubuntu

Compiler : msp430gcc

Following is the response when I try to communicate with my device

=============================================================

$ sudo mspdebug rf2500
MSPDebug version 0.22 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2013 Daniel Beer <dlbeer@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Trying to open interface 1 on 006
rf2500: warning: can't detach kernel driver: No data available
Initializing FET...
FET protocol version is 30328680
Set Vcc: 3000 mV
Configured for Spy-Bi-Wire
fet: FET returned error code 4 (Could not find device or device not supported)
fet: command C_IDENT1 failed
Using Olimex identification procedure
fet: FET returned error code 4 (Could not find device or device not supported)
fet: missing info
fet: identify failed
Trying again...
Initializing FET...
FET protocol version is 30328680
Set Vcc: 3000 mV
Configured for Spy-Bi-Wire
Sending reset...
fet: FET returned error code 30 (Security fuse has been blown)
warning: fet: reset failed
fet: FET returned error code 4 (Could not find device or device not supported)
fet: command C_IDENT1 failed
Using Olimex identification procedure
fet: FET returned error code 4 (Could not find device or device not supported)
fet: missing info
fet: identify failed

=============================================================

Two days back, it used to work properly. Meaning, I was able to program my application for blinking led. It performed in hardware the way in which it was expected.

Later I was experimenting with some other registers writing/reading.

Yesterday I observed it cannot be communicated due to blown security fuse. Till now the same status. 

I saw in several web pages describing about "the mass erase through BSL". I really do not understand how to do it. Do I require any extra hardware ?

Whatever suggested in software commands such as "sudo mspdebug rf2500 flash-bsl" has been tried, but it is still not recovered.

Can you please suggest me, how can I rectify the problem ?

  • Following is another observation
    ====================================================================================
    $ sudo mspdebug flash-bsl -d /dev/ttyACM0
    MSPDebug version 0.22 - debugging tool for MSP430 MCUs
    Copyright (C) 2009-2013 Daniel Beer <dlbeer@gmail.com>
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    flash_bsl: serial read failed: Connection timed out
    flash_bsl_erase: failed to send erase command
    flash_bsl_unlock: warning: erase failed
    flash_bsl: serial read failed: Connection timed out
    flash_bsl_unlock: send password failed
    ====================================================================================
  • JTAG soft fuse can be unblown by BSL mass erase. For BSL hardware can be used any PC UART / MSP430 UART voltage translator based on MAX232, or MSP430G2 LP based BSL.
  • Thank you zrno soli. So BSL is a hardware. Where can I get a suitable BSL and what are the options available ?
  • For MSP430x2xx devices can be used any PC UART / MSP430 UART voltage translator that can work on 3V, and have at least 3 transmit lines (TX, RESET, TEST), for example MAX3243. Unfortunately, PC UART is not fast enough for BSL entry sequence for MSP430x5xx devices, and it can't be used with MSP430x5xx devices.


    Simple solution that works for sure with any MSP430 is MSP430G2 LP based BSL http://www.ti.com.cn/cn/lit/an/slaa535a/slaa535a.pdf

    And also, instead of MSP430G2 LP, any MSP430x2xx like MSP430G2 LP target chip used used in slaa535, can be used. 

  • Thank you zrno soli. Apart from using a BSL hardware, is there any other way through software, command line, code composer studio, etc, the problem can be resolved ?

  • Blown JTAG soft fuse on MSP430FR5739 can't be unblown by SBW / JTAG access. Only by BSL mass erase. New FRAM devices have possibility to do mass erase by SBW / JTAG mailbox system, and unlock bricked device.
  • Thanks zrno soli.
    When I look for buying this BSL programmer, https://www.olimex.com/Products/MSP430/BSL/MSP430-BSL/
    every thing seems to be windows based.

    http://processors.wiki.ti.com/index.php/MSP430-BSL
    also gives info on windows based.

    Since I have Linux pc with me, will I be able to go ahead by choosing this ?
  • Don't know about BSL hardware tools and software under Linux. Maybe you can find something here...

    https://pythonhosted.org/python-msp430-tools/commandline_tools.html

  • Thanks for the info zrno soli.
  • Following is found in one of the ti discussions.
    "SLAU319 and SLAA450 are the correct BSL app notes, but unfortunately FR5739 and FR5969 have ROM BSLs, not Flash, so they cannot be modified."

    http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/287995/1004701#pi239031349=1

    I am confused now. Whether the BSL reprogramming will resolve my basic issue of "blown fuse".
    Should I use a bootloader instead of a BSL as it suggests ?
  • ROM BSL on FRAM devices is not a problem, because there is no need to change original BSL on MSP430FR side, for resolving blown JTAG fuse problem.

  • Thanks zrno soli for clearing the confusion. Next I read slaa535a.pdf thoroughly. In page-7, Appendix-A, Table 2. List of Tested Devices (continued), the last entry in the table's "Target Board" is MSP-EXP430FR5739 that exactly matches my target. The "Device" column has MSP430FR5739 against my target. Hence I need to take another working MSP-EXP430FR5739 to be the launchpad to interface the UART BSL of my target(currently fuse blown). Am I right ?

**Attention** This is a public forum