I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods
Amazon Honor System Click Here to Pay Learn More
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / MISC Areas / Mattel JuiceBox
JTAG Problems (aka Aaaarrrgggg!!!)
Trying to get JTAG to work

New MessageJTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile
I am trying to get the JB working with JTAG using jtag-0.5.1, as patched from the site.

I have a little bit of a non-standard JTAG cable (its a 244-based one - sort of like the Wiggler - but its made by Lattice Semiconductor). The pins are a bit different, so I modified the cable definition. I put some code in to test the individual bits (TCK, TMS, RESET, etc) to make sure that they are being set on the JB as the JTAG software thinks they're supposed to be - and all this appears to work - and at the right voltage-levels.

BUT, it obviously doesn't work!!

Questions:

Is nRESET supposed to be (physically) high or low for JTAG programming?

When nRESET is asserted - what is supposed to happen to the JB? No matter if it as asserted or deasserted, the JB continues on playing its crappy into-videos. Shouldn't it "freeze" or something when its asserted - or in JTAG "mode"?

No matter *what* I do with JTAG - the JB continues on like nothing's there. I have verified I get proper signals/voltages on the JB pads. (BTW - I am doing this all on those test-point pads in the photo on the web site.)

I've also tried dropping the clock frequency too.

Any other tips anyone can give me?

Anyone know???

09-26-2006 19:29:59

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 1 times) jbfan
Profile

When nRESET is asserted - what is supposed to happen to the JB?
According to the data sheet it works like any other reset - assert it for a minimum number of clk cycles then de-assert and the processor is in a known state: i.e. the JB should restart. Sounds like your wiring may be at issue.

I'm using Jtager/wiggler and did all the wiring from the component side of the PCB so I'm probably not much help to you with this.

FWIW with nTRST physically removed from the cable the JB still responds to halt, memset, and restart - you may just try breaking that connection.

Do you have a scope? Check that TCLK, TDI, TDO are switching.

-J

09-26-2006 20:41:31

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile

Do you have a scope? Check that TCLK, TDI, TDO are switching.

Thats the thing....they definitley are switching


According to the data sheet it works like any other reset - assert it for a minimum number of clk cycles then de-assert and the processor is in a known state: i.e. the JB should restart.

Yea...it goes ignored. My "testport reset {0|1}" command in JTAG lets me manually assert/deassert, and verify the state on the board pad with a meter. Everything is good, but yet, the board just keeeeeps running.


Sounds like your wiring may be at issue.

I double checked everything - even verified the signals are getting asserted/deasserted on the board. I did me rework underneat a stereo rework 'scope so I know the connections are all good.


FWIW with nTRST physically removed from the cable the JB still responds to halt, memset, and restart - you may just try breaking that connection.

It won't even do a "cable detect" - Maybe I should try JTAGger? But if nRST isn't even working...

I did my connections on the solder side (bottom) test-points. I'm thinking that maybe something's up with this. Has anyone else done that??


Thanks for the help!

-BKG

09-27-2006 05:06:00

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) jbfan
Profile

    ...Check that TCLK, TDI, TDO are switching.

Thats the thing....they definitley are switching


Good! I think the only way to get TDO to toggle is to clock bits into TDI.

What data is being read back by jtag? Can it ID the chain?

I see that the wiki reports that nTRST and nRESET are tied together (have not confirmed this on mine) - there are at least two spins of the board (8M and 2M SDRAM); this is something that could have changed between revs. nTRST only resets the JTAG logic and may not affect the operation of the JB.

-J

09-27-2006 07:50:58

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile
I take it back (a bit) - I have not confirmed that TDO is wiggling.

(I have a meter, not a scope, so its a real pain to do.) The others I've done by explititly setting/reseting the bits manually via. command line (in JTAG) - then dropping the clock rate WAY down (i.e. 1Hz) so the stupid meter has time to settle on a reading - just to see that it's toggling.

It cannot ID the chain though. JTAG shows nothing after DETECT.

I find it impossible to believe that its doing anything - because the JB wouldn't most likley be able to function normally while all this was going on.

I am almost of the believe that those test pads on the back-side aren't either connected, or documented correctly, etc.

09-27-2006 08:16:02

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) emeb
Profile
It would be a good idea to check the impedance of the JTAG pads on the board. It'd be a real nasty surprise to find that Mattel had ceased bonding those die pads on the later assembly runs.

Do this: hang your meter on the TDO signal, then connect a 10k resistor from TDO to the GND and VDD line alternately. If the TDO stays put then the ARM is driving it. If TDO follows the direction the resistor is pulling it then its floating and we're screwed.

09-27-2006 13:53:15

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile
Yes - I will definitley try that. The fact that I can measure the jtag cable pulling nRST low (or high) and it has no affect on the JB, does not give me a warm and fuzzy feeling.

Also, remember, I think I am the only one who is using the JTAG pads on the back of the board - I think everyone else is picking up traces (or resistor pads?) on the front side. Maybe there's no continuity - lemme check.

If I had a scope, I could check the clkout pad too.

I have a hard time believing that they wouldn't bond them - they're probibly the only test points on the board for production test.

09-27-2006 14:00:46

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) greghol
Profile
I'm sure it doesnt matter if your picking the jtag pins from either side really matters. I picking my jtag lines up using the via pads so it doesnt matter which side I'm attacking it from.
I have the version of JB that has the TSOP flash if it matters and the JB JTAG does work with my Jeeni JTAG box. (no led JB, if I remember right) For the most part nTRST isnt needed to talk to the ARM7 core just as long as it is not asserted. I havnt tried my '244 based wiggler clone on the JB but I can get the wiggler to work with my Samsung S3C4510B router boards. I try it later tonight on the JB.
09-27-2006 14:32:17

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) WestfW
Profile

For the most part nTRST isnt needed to talk to the ARM7 core

Can you be more specific? The xilinx cable I was planning to use doesn't
even HAVE nTRST...
09-27-2006 15:37:03

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile
Just don't connect it.

(My cable doesn't have it either - but I routed /ISPen to it. I'm actually kind of glad I did though - because the obvious problem of it nor resetting the board clued me in very quickly that something was very, very wrong.

09-27-2006 18:09:35

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 1 times) jbfan
Profile

The fact that I can measure the jtag cable pulling nRST low (or high) and it has no affect on the JB, does not give me a warm and fuzzy feeling.
Just confirmed on two JBs that nTRST is not connected to nRESET - both are 2Meg units (don't have an 8Meg to look at).

Shorting the nTRST to VSS does nothing to the operation of the JB - it just keeps playing.
But shorting it does kill the JTAG chain.

Also ohm-ed out the pads on the back - the JTAG signals look to be labeled correctly on the wiki.

Model and datecode from the back of the PCB:

PVP-01 REV:02A
0437

-J
09-27-2006 19:12:13

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile
Ah, yes! Not only did I discover the same thing - but I took a picture of the board (which is different than the one on the JTag Hardware page on the Wiki).

The picture of my board (the same rev that you indicated) is on that page now on the Wiki.

Now - you say that this pin does not connect to the reset on the CPU(as I an discovering) but does effect the JTAG circuitry?

Are you saying that you believe the JTAG pins are still connected correctly on this rev?

I guess that would be sort of good-news/bad-news for me - as it means it can work, though something else is out of whack, because it's not working.

When I start messing with the JTAG chain - what kind of behavior should I excpect from the JB. Will it keep blaring it's crappy video during a JTAG chain detect, or should it stop?

09-27-2006 20:54:54

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 3 times) jbfan
Profile

Now - you say that this pin does not connect to the reset on the CPU(as I an discovering) but does effect the JTAG circuitry?
Yes.


Are you saying that you believe the JTAG pins are still connected correctly on this rev?
I did my best to scrape off the solder mask from the pads on the top side and ohm between them and the test points on the back. Mind you I needed to take my glasses off to do this so it may be worth someone else double checking


When I start messing with the JTAG chain - what kind of behavior should I expect from the JB. Will it keep blaring it's crappy video during a JTAG chain detect, or should it stop?
Yes, it will continue to "rock on" until you send a halt (need any additional incentive to get JTAG working?), detect does not affect the operation of the JB.
Here is what I get with an un-patched jtag-0.5.1;
jtag> cable parallel 0x378 WIGGLER
Initializing Macraigor Wiggler JTAG Cable on parallel port at 0x378
jtag> detect
IR length: 4
Chain length: 1
Device Id:
00011111000011110000111100001111
  Unknown manufacturer!
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
chain.c(110) Part 0 without active instruction

With the nTRST grounded detect returns without printing anything.

-J

09-28-2006 10:33:32

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile

With the nTRST grounded detect returns without printing anything.

Okay, well I will then keep rocking-onward. I was thinking about it, and it could be that I was holding nRESET low the whole time. In fact - I think I had to have been. Because my nRST is really my nISPEN, which enables the JTAG buffers. Therefore, if reset had been de-asserted (phyisically high), it would have shut off the JTAG signals. If it were now, it would have sent them, but held the JB-JTAG in reset.

Now it all makes sense!

Thanks for the help!

-BKG

09-28-2006 11:55:02

New MessageRE:JTAG Problems (aka Aaaarrrgggg!!!) (modified 0 times) bkgoodman
Profile
Oh, Yeah!

That was it! It works!!

Thanks a bunch!

09-28-2006 18:55:25

Reply to Thread | Printer |
All times are PSTPowered by UltraBoard v1.62



Copyright © 2000, Netmake Inc. All Rights Reserved.
See Terms and Conditions for more information.




i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3