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.

MSP432E401Y: RTOS Programming error with XDS110

Part Number: MSP432E401Y

Hello,

Have an error when programing MSP432E401Y with XDS110. It seems to be related to the crystal. Our code is RTOS running at 120MHz. The crystal is 25MHz. It popped up an error message on code composer. The error messages are different in JTAG and SWD mode. The same code works fine with Launchpad. 

JTAG Mode

SWD Mode

The workaround is to disconnect the series resistor of the crystal circuit. Program the MCU without the oscillator. It will program successfully but the debugger wouldn't run without the oscillator. Then we put the resistor back and the debugger runs fine. After the first successful programing, re-programming works every time.

The design of the oscillator is based on the reference design, a 25MHz crystal (NDK NX5032GA-25MHZ) with load capacitors and a series resistor. We started with 1kohm resistor and go up to 3kohm. I have seen the programming going through with 3kohm but not consistent.  I have checked the oscillator input pin (OSC0) with an oscilloscope and the waveforms looked fine with either 1kohm or 3kohm resistors. Here are the schematic and the layout.

The waveform with a 1K series resistor. 

The waveform with 3K series resistor.

I don't see how the clock affects the programming, as the signal looks correct and clean. I appreciate any comments. 

Long Yu

  • Hello Long,

    Please checkout the following application note, in particular, Section 6: Debugging JTAG Connection Failure. This application note was written for TM4C12x devices, which are sister devices to the MSP432E4 device, so most if not all of the same guidance applies. 

    Also, the System Clock needs to be more than 10 times the JTAG TCK Clock. As an example, if the System Clock is 10MHz, the JTAG TCK Clock Frequency must not be more than 1MHz. Please cross check the system clock and JTAG Clock settings. 

  • Hi Jace,

    Thanks for the input. I have read the application note. It doesn't cover the failure mode I experienced. In JTAG mode, the error message was about data verification. As far as the clock, My system clock  is 120MHz. It didn'r make any different when I tried lower JTAG TCK clock. 

    Long

  • Hello Long,

    Please check out the application note again and work through the steps there. It give step by step debug checklist to help you narrow down the problem. A data verification issue could be an unstable JTAG connection and/or incorrect programming of the internal Flash. 

  • Hi Jace,

    I have checked the following.

    1) Test Connection. JTAG IR and DR both succeeded.

    2) VDD and VDDA. 3.3V. 
    3) TCK, TDI, TDO. The waveforms are reasonable.

    4) OSC0 pin. Screenshots were attached in my original post.

    I am not sure what else I could check hardware wise.

    Long

  • Hello Long,

    do you have an MSP432E401Y Launchpad that you can program form instead of the XDS110 you are using? It has a header for programming off board parts. This would limit potential factors for what is going on.

    Also in the documentation, a main way to get past these errors is to run the unlock sequence for the part. Has this been done? 

  • Hi Jace,

    I do have a Launchpad. Isn't the programming circuit the same between XDS110 and the Launchpad? I will try to program it off the header and update you later.

    I have run the unlock sequence per instruction. It didn't help. I don't think the MCU was locked.

    Long

  • Hello Long,

    The suggestion here about using the LP, is try to eliminate different factors that may affect your setup.

    I was discussing this case with a colleague who reminded me of the following point as well. Do you have the appropriate resistor value to ground on the RBIAS pin?  Not having this pin terminated correctly, could have an affect on JTAG communications. 

  • Hi Jace,

    I think you nailed it. RBIAS was left unconnected. I was able to terminate it with a 4.7K to the ground (Recommended value 4.87K was not available). The programming went through without any errors. I am curious to know why RBIAS affects JTAG and somehow is related to the clock. Thanks again for your help.

    Long

  • I am curious to know why RBIAS affects JTAG and somehow is related to the clock.

    The TM4C129 devices, which are sister devices to the MSP432E, have the following errata described in Tiva C Series TM4C129x Microcontrollers Silicon Revisions 1, 2, & 3 Errata (Rev. G) :

    MSP432E4 SimpleLinkTm Microcontrollers Silicon Errata doesn't have the same errata listed, so initially assumed the TM4C129 ETH#03 errata had been fixed in the MSP432E devices. However, your test appears to show the ETH#03 errata is actually present in the MSP432E device.

  • Hi Chester,

    Good to know that. I found the following on MSP432E4 datasheet. They do recommend 4.87K on RBIAS pin. I guess an errata is not needed in this case.