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.

MSP430FR2111: MSP430FR2111

Part Number: MSP430FR2111
Other Parts Discussed in Thread: MSP-FET

I am developing a custom In-system programming solution for device type MSP430FR211x that runs on a Teradyne In-Circuit tester. This solution is to be used by a high-volume user of these devices. It needs to run through the SBW, to program the FRAM, because the target design does not provide probe access to the full set of JTAG signals.

 

Before we go any further, I should first explain that I am not using an off-the-shelf programmer. I am developing my own programmer that generates the low-level pin signal patterns as described in document SLAU320AJ

 

I have the solution working correctly if I program through the 4-wire JTAG. However, when I switch this over to run through SBW (but all other sequence the same) it fails.

The low-level SBW itself appears to be working. And my problem appears to be that I am just locked out of certain registers and memory when using the SBW. See by comparisons…

 

SYSCFG0

With JTAG I can read and write. Read 9601, write A500, read back 9600.

With SBW I can only read it. Read 9601, write A500, but read back 9601. Read works but write does not.

 

WDT

I am able to write and read the WDT register with either JTAG or SBW

 

SRAM at 2000

With JTAG I can write AAAA and read back AAAA

With SBW I can write AAAA but read back is 0000. Not enough information to tell if it is the write or read that has malfunctioned.

 

Chip ID at 01A04

With JTAG I can read 82FA

With SBW I read 0000

 

I should note that even with JTAG I could not read the Chip ID using the ReadMem_430Xv2 function. In order to access this I had to SetPC_430Xv2(1A04)  followed by a quick read.

 

I am working with virgin parts so I am assuming that the entire FRAM contains 1s.

 

Is there some register some place that needs to be modified that will allow SBW to access the same registers that JTAG can?

 

Is there some access privilege that JTAG has that SBW does not, and how can I fix that?

  • Hello Dudley,

    First I want to say this is beyond the scope of what we can help you with on this forum. It is not recommended to create your own programmer, and if you need a production programmer that can do mass programming of devices, check out the MSP-GANG programmer that can program up to 8 devices simultaneously. 

    From an interface perspective, SBW (2-wire JTAG) and traditional 4-wire JTAG are equivalent. SBW is just time spliced JTAG. There is a certain pattern on TEST + NRST you need to enable that interface I believe, and it has strict timing requirements. So much so that excessive capacitance on the lines, or long traces, can interfere with proper communication. I would recommend testing your HW setup for SBW comms via MSP-FET so you can be sure that's solid. 

    Below are a few resources you can reference if you want to continue down this path. Good luck with your project. 

    MSP430 JTAG UG

    MSP430 Spy-Bi-Wire With SimpleLink MCUs

  • Dudley,

    Hi Dudley,
    Once the SBW interface is working there should be no access differences versus JTAG. The results you posted in this thread indicate that SBW read is not functional. In particular, the result that shows JTAG can successfully read the device ID (which is part of the INFO block of FRAM memory) but SBW cannot.

    I noticed that there is another post that includes a Saleae Logic analyzer capture of successful SBW operations while using a TI debug tool connected to an MSP430. This maybe a helpful reference for comparing to your interface waveform.
    e2e.ti.com/.../4102161

    -Ruben

**Attention** This is a public forum