MSP430 and Atmel AVR in one JTAG chain?

Does anybody know if either the MSP430 or Atmel ATmega AVR parts (or associated JTAG interface widgets/SW) have problems when there are other devices in the JTAG chain?

In the past, I've run into buggy JTAG stuff that couldn't tolerate having multiple devices in the JTAG chain. I'm working on a design with both an AVR and an MSP430, and I'd like to have a single JTAG header/chain. Before trying it out, I thought I'd check to see if anybody already knew it won't work.

--
Grant Edwards                   grante             Yow! I had a lease on an
                                  at               OEDIPUS COMPLEX back in
 Click to see the full signature
Reply to
Grant Edwards
Loading thread data ...

Read the AVR Datasheet. Older Chip revision had problems and mask out other devices. I am using a chain with a recent AT90CAN128 and CPLD/PROM/FPGA following with success

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
 Click to see the full signature
Reply to
Uwe Bonnes

I found an MSP430 app note that states the MSP430 violates the IEEE JTAG standard and as a result has to be the first device in the chain.

I did (for the 1281V). It didn't say one way or the other. I don't interpret lack of a statement of a feature's absence to be an assurance that a feature is present.

So those would be OK if they were the last device in the chain? That along with the MSP430 non-compliance would be a happy coincidence.

I found the following note in the JTAG ICE manual:

Note: The JTAG ICE does not support several devices placed into a JTAG Chain. For example, the target AVR must be the only device connected to the JTAG ICE.

Cripes. JTAG has been around for how many decades and people still can't seem to make tools/parts that implement it correctly? [I also found AVR JTAG interfaces from other vendors that specifically state that multiple device chains are supported.]

--
Grant Edwards                   grante             Yow! !  Up ahead!  It's a
                                  at               DONUT HUT!!
 Click to see the full signature
Reply to
Grant Edwards

I expect there is more of that to come - not just in JTAG. Less and less people even try to look what is below/aside the popdown menus on offer.

What you quote relates just to some poorly written tool, though. I cannot think of a part which does not correctly do JTAG bypass (being simply a D-flipflop in the chain); so your plan with the 430 first sounds good (the 430s problems likely appear when it is doing non-bypass things, but that's just a guess). Recently I did choose to connect the 430 JTAG separately on a design with more JTAG-ged parts, though. But I had more excuses to do so, so it was easier to take (free pins on a connector I had anyway, separate chain powerdown capability etc.).

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

Reply to
Didi

I'll have to read through the app note again, but I'm going to try to wire up a couple eval boards in a JTAG chain.

We're going to have no extra space on the board in question, so being able to use a single JTAG header would be a good thing. I suppose I could come up with a way to share most of the connector pins whithout actually chaining the TAP units.

--
Grant Edwards                   grante             Yow! I just forgot my whole
                                  at               philosophy of life!!!
 Click to see the full signature
Reply to
Grant Edwards

While your posts are generally quite readable, they are spoiled by the fact that the complete original message is appended as a quote. Please simply delete that appendage.

--
 Chuck F (cbfalconer at maineline dot net)
   Available for consulting/temporary embedded and systems.
Reply to
CBFalconer

No, the early AVRs with problems also needed to be the first in a chain. I think the mega1281 should be fine. Better talk to your local Atmel FAE and ask about a specific device, or send an email to avr at atmel dot com.

The JTAG ICE Mk II certainly supports several devices in a chain. There are AVR Studio configurations where you specify where in the chain it is.

--
Best Regards,
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

I followed your recommendation, while writing this reply but I think it is going to confuse readers of this email.

--
Best Regards,
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

It's good to know that some people don't design their parts under the assumption that nothing else exists in the world. :)

I'll do that. I'm also going to try to wire up a couple eval boards and make sure it works.

Yup, I just found where the datasheet for the Mk II explicitly says that.

I wasn't planning on using AVR Studio, but I can if I have to...

--
Grant Edwards                   grante             Yow! I just went below the
                                  at               poverty line!
 Click to see the full signature
Reply to
Grant Edwards

Maybe you can use the TI 'LVT8986 device. One can connect 3 secondary JTAG busses to the master JTAG bus. Each of the secondary JTAG busses can be isolated.

Regards Anton Erasmus

Reply to
Anton Erasmus

What about the 430? I don't remember where this about it being first was (although I also read it recently), but there is not much they can get wrong apart from miscounting clock cycles relative to TMS; so I would expect it not to work as a second/third etc. device no matter what the first device on the chain is. Your test should give the ultimate answer, of course, please keep us posted.

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

Reply to
Didi

From SLAA149C.PDF:

B.2 MSP430 JTAG Restrictions (Non-Compliance With IEEE Std 1149.1)

  • The MSP430 device must be the first device in the JTAG chain (because of clocking via TDI and JTAG fuse check sequence). * Only the BYPASS instruction is supported. There is no support for SAMPLE, PRELOAD, or EXTEST instructions.

Will do.

--
Grant Edwards                   grante             Yow! for ARTIFICIAL
                                  at               FLAVORING!!
 Click to see the full signature
Reply to
Grant Edwards

Hmm. I'm runnnig AVR Studio 4.12 SP1, and I can't find it. In what version of AVR Studio (and where) is that configuration?

I think there a newer AVR Studio out, but

formatting link
is down... :/

--
Grant Edwards                   grante             Yow! BELA LUGOSI is my
                                  at               co-pilot ...
 Click to see the full signature
Reply to
Grant Edwards

It is in the JTAGICE Mk II "options" in the "Connection" tab. I think you may have to have a JTAGICE Mk II connected, for this option to be visible. Inside the tab, you have a "Daisy Chain" where you can say that "Target device is part of a JTAG daisy chain" and Devices before/after and Instruction bus before/after.

In my 4,13, you can look a the help files for JTAG ICE Mk II in the "On-Chip Debugging with the JTAGICE mkII" page.

Some excepts from the help file:

"If the target is a part of a JTAG daisy chain it must be specified how many devices and IR-bits exists before and after the actual target. Maximum total IR-length is 32 bits. AVR uses 4-bit IR length. Check IR-length for each device in the chain to calculate total IR-length before and after the device you wish to communicate with. See example below:" "During the connection sequence, AVR Studio will use the current JTAG Chain settings when connecting to the target device. If the settings does not correspond to the target configuration, AVR Studio will detect this and prompt for the correct settings. If for some reason the settings need to be changed manually, the JTAG Options dialog can be forced to open just before starting debugging by checking the 'Open Platform Options' checkbox in the 'Select debug platform and device', in the Project Wizard. The ProjectWizard is available from the Project menu.

The JTAG Daisy Chain configuration in the STK500/AVRISP/JTAGICE(mkI)/JTAGICE mkII programming frontend, can be found under the Advanced tab. See picture below:"

--
Best Regards,
Ulf Samuelsson
 Click to see the full signature
Reply to
Ulf Samuelsson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.