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.

Problems blowing JTAG fuse

Other Parts Discussed in Thread: MSP430F5529

I am attempting to blow the JTAG fuse on the MSP430F5529.  I am trying this with both MSP Flasher and Elprotronics FET-Pro430 software and in both cases, I'm getting an error or failed message.

 

In FET-Pro430, the message I get is:

 

JTAG communication initialization....     OK
Verifying Security Fuse ....................     OK
Blowing Security Fuse .....................     failed
 --------------- FAILED !!! -----------------

 

In MSP Flasher, the message I get is:

 

Target Device could not be secured!

Exit: 11

Error: Not supported by selected Interface or Interface is not initialized.

 

Using either method, I can read/write to the device with no problems, but for some reason the blowing of the fuse is not working.  I've also tried this on multiple F5529 devices with the same result.  Reading in SLAU320, under section 1.4.2 Programming the JTAG Lock Key - Function Reference for 5xx, 6xx, and FRxx Families, 1.4.2.1 Flash Memory Devices, it states:

 

"Because the JTAG security lock key resides in the BSL memory address range, appropriate action must be taken to unprotect the memory area before programming the protection key. This can be done by a regular memory write access as described in Section 1.3.3.2 by writing directly to the SYSBSLC register address and setting the SYSBSLPE to 0. Afterward, the BSL memory behaves like regular flash memory and a JTAG lock key can be programmed at addresses 0x17FC to 0x17FF as described in Section 1.3.4.2."

 

Could this be my problem?  And how do I set the SYSBSLPE to 0?  Any help/tips would be greatly appreciated.

 

Thanks!

  • I'm guessing that LP hardware is used, and in this case TI software don't support fuse blow for 5xx devices, even VPP is not needed. It can be changed by updating eZ-FET Lite open firmware source, but it is easier to manually unlock BSL and write four 055h bytes to 017FCh.

    @182
    03 00
    @017FC
    00 00 00 00
    q

    Part of the FET firmware code for enabling fuse blow for 5xx devices.

    http://forum.43oh.com/topic/4862-how-to-protect-flash-memory/?p=43305

     

  • Hi zrno,

    Thanks for the quick response! yes, I am using LP which has the the ez-FET lite. I was able to use the Elprotronics FET-MSP430 software to read the flash from the device, then modify the registers @017FC, then write the flash back to the device. The fuse was then blown! My next step will be trying to figure out how to unblow the fuse via BSL. In your response above, are these the lines that set the SYSBSLPE bit to 0:

    @182
    03 00

    ?
    And if that's the case, do I insert this line anytime I am attempting to modify the BSL memory registers? Or once I set it to 0, does it remain at 0, even after a device reset? To unblow the fuse via BSL, I was planning to use BSL Scripter and use the example scripts in the folder "5529_Application_Download." Instead of loading the "5529_LED_BLINK.txt" I will load a file with the following:

    @182
    03 00
    @017FC
    00 00 00 00
    q

    Am I understanding this correctly? Thanks for your help!
  • Lindsay Kendall93 said:
    To unblow the fuse via BSL, I was planning to use BSL Scripter and use the example scripts in the folder "5529_Application_Download." Instead of loading the "5529_LED_BLINK.txt" I will load a file with the following:

    @182
    03 00
    @017FC
    00 00 00 00
    q

    Am I understanding this correctly?

     

    Yes. It is explained here...

    http://forum.43oh.com/topic/2972-sbw-msp430f550x-based-programmer/?p=44019

  • Thanks, zrno! I followed the example from your post and it worked!

**Attention** This is a public forum