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.

MSP430F5253: Programming through JTAG. Is my fuse blown?

Part Number: MSP430F5253

Hello!

I'm trying to use BeagleBone Black to program MSP430F5253 through GPIO's via the JTAG port. The software i'm using is mspdebug: https://github.com/dlbeer/mspdebug.

It tells me that the JTAG fuse is blown. I've hooked up a logic analyzer to see whats going on: We've been told that the PCB we're programming have never been powered on, and the only way to blow the fuse is through software which is highly unlikely for us to accidentally have done.   

I've suspected that the SBW toggling is wrong, but from the picture above it looks like i'm in 4-Wire JTAG mode with BSL disabled (which is correct). The software does a fuse-check as described in slau320ac on page 57. This function returns 0x5555 which means that the fuse is blown. Can someone confirm this that the fuse is blown, or tell me what could be wrong?

Thanks. 

  • Hi Martin,
    This could either be circuit or connection issues (Hardware), or somehow the JTAG password has been over written.

    This sounds more like a hardware issue. Are you using a custom PCB? Do you have a schematic?

    What happens if you try to program via IAR or CCS?

    Another thing you can try is to unlock the JTAG via the BSL. See section 2.2.1 in slaa685.
  • Yes we're using a custom PCB. This is a bachelor thesis for a company, and we're interfacing with their PCB so we cannot share the schematic. 

    On our end we only have the BeagleBone Black with a logic converter inbetween the GPIO's and the JTAG Test Points on their PCB. The logic converter we're currently using is a breakout from Adafruit: 

    The signal is converted from 3.3V to 2V (which is the communication level on their PCB). As you saw in the picture it looks like the communication itself is working correctly.

    We don't have tools to program from IAR or CCS, but they're currently using an identical PCB and programs it through a programming-dongle. We have not been notified that something is wrong with the PCB, so i guess the PCB itself is OK.

    The software also does the TAP reset so the fuse is not mistakenly recognized as blown. 

    So to me it really looks like we're locked out of JTAG access.

    I guess the next step is to try the bsl and see what it says. 

  • You can read JTAG fuse values by BSL from 017FCh (BSL area, 4 bytes). They should be (unlocked, by default) 0FFh. If JTAG fuse is blown, 4 bytes should be 055h. You can also do (flash) mass erase by BSL, and than you are completely sure, that you are starting with clear situation. Blank device (0FFFFh empty reset vector) with unlocked SBW / JTAG access.

    After this debug your code. If your code can get device JTAG ID (091h) before fuse check, than I guess that everything is OK with SBW / JTAG interface hardware and software shifting functions.

    I guess that this is something similar to... https://forum.43oh.com/topic/10035-4-wire-jtag-with-mspdebug-and-raspberry-pi-gpio/

**Attention** This is a public forum