AnsweredAssumed Answered

Is my USB TAP defective?

Question asked by Nathan Anderson on Nov 27, 2019
Latest reply on Dec 6, 2019 by Yiping Wang

How likely is it for a CodeWarrior USB TAP to respond just fine on the USB side (to the host / computer that CodeWarrier is installed on), but still be "broken" on the TAP/JTAG side?


Here is my sob story...


I am not an embedded systems engineer/developer.  I did, however, manage to "brick" a commercial board via a botched bootloader update.  The board is based around a P3041 SoC.  I have been trying to fix it ever since, but have repeatedly struck out (and not for lack of research or trying, believe me).  I know that I haven't clobbered the RCW because the bootloader still starts up and prints some output to the serial console, but it just hangs before it can chain off to the main OS.


I have copies of all the "right" bits and I know exactly what needs to get written and at what offsets, and so I know 100% for a fact that I could fix the damage if I could just make targeted writes to the NOR flash (which is partly what makes this whole situation so the end of the day, it's just a stupid software problem), but so far I have been unsuccessful in finding a way to do so *without* physically desoldering the flash chip from the PCB.  The board does have a 16-pin COP header on it, and I have managed to borrow a couple of different commercial JTAG emulators with COP support, but in each case the JTAG box in question turned out to only be licensed for a different subarchitecture (usually PowerQUICC II or III), so even though the products themselves had QorIQ P-series support, these devices refused to allow me to proceed further merely on account of software licensing restrictions.  And I can't afford to pay thousands of dollars to these vendors to license QorIQ support from them for a shot at a one-time re-flash.


I had recently been made aware that a Freescale/NXP USB TAP could be used in combination with CodeWarrior installed with an evaluation license.  So I obtained a COP variant CodeWarrior USB TAP second-hand, and am using it in conjunction with CW for Power Architecture 10.5.1.  Just to make sure the host computer wasn't the problem, I have tried this on 2 separate PCs, one running Windows 10 64-bit, and one that I did a clean install of Windows 7 SP1 32-bit on as a test.


The USB side of the USB TAP seems to be fine, as I can get the driver to install no sweat, and CCS can communicate with the TAP over USB without issue...I can "config cc utap" followed by "show cc" just fine, and I can even "updateutap" to reflash its firmware without a problem.


But if I create any Target Task in CW that attempts to use the TAP to communicate with the target, such as a Hardware Diagnostic or Flash Programming task, it always fails.  So I tried "source IDcode.tcl" from CCS console while I had the TAP plugged into the COP header on the PCB, and got the EXACT SAME ERROR that I get from within CW, which is this: "Cable disconnected (target power not detected)"


Though I can't use them to re-flash the board in question due to the licensing issues, neither of the competing JTAG emulators that I have access to (one a Abatron BDI2000, and one a Ronetix PEEDI) have a problem detecting the P3041 SoC's TAP when plugged into the board's COP interface, and they both successfully display the correct IDCODE of 0x018E101D.  So I *know* that the COP interface to the SoC *is* working.


I thought that perhaps the board might not be supplying enough power on Vcc to "satisfy" the CodeWarrior TAP, which might just be "pickier" than the Abatron or Ronetix debuggers when it comes to implementation tolerances.  So I found a different commercial device based around a PPC SoC (in this case, a MPC82xx) that also had a COP header on it, plugged the USB TAP into it, and *exact same problem*!!!  "target power not detected"!  So I again tried plugging the Abatron and Ronetix emulators onto this other board, and just like before, they had no problems detecting the MPC82xx SoC's TAP over the JTAG interface!


So since I have now run into 2 different PPC-based boards that both have a COP interface, and Abatron and Ronetix boxes have no trouble grabbing a JTAG TAP IDCODE from while this Freescale one claims it doesn't see Vcc power, I'm thinking that the conclusion is inescapable at this point that the USB TAP has *got* to be defective.  Has anybody seen anything like this before with their USB TAPs?  Is it common for these things to "go bad" like this?  The one I have was sold to me as "New, open box", but based both on this as well as its physical condition on arrival, I'm thinking it was falsely advertised and it probably was used.  But what could somebody have done to break it in this way?


For the record, the TAP is part # 900-75115, revision "D", COP variant.


Thanks in advance for any assistance/guidance/help...I'm getting desperate...