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.

Spy-Bi-Wire Chain



Hi,

I'm using 4 micro for a proyect and I need to program them by JTAG. The micros are MSP430G2230ID. They use Spy-Bi-Wire (2-Wire JTAG) and I want to know if it's posible to use JTAG chain with these micro.

Thanks for your help and  forgive my poor words (I don't speak English very well, hehe).

 

  • 4micros? Wow. Why so many?

    No, msp430 does not support jtag chaining, nor sbw chaining.

  • It's a proyect for University where I must control many sensors by I2C.

    Thnaks for answer.

    I will use multiple jumpers then   :(

  • Ilmars said:
    No, msp430 does not support jtag chaining, nor sbw chaining.

    Not exactly right. The 4-wire JTAG protocol supports the bypass command and therefore JTAG chaining. However, none of the programming tools implements this, all assume a single MSP between data send and return.
    It should be possible to write a JTAG programmer firmware that supports chained MSPs on 4-wire JTAG.

    SBW, howver, doesn't support this electrically. While you can send a bypass command through SBW (ater all, it is just a 3-phase serialized parallel JTAG), it makes no sense since the serialization doesn't allow this electrically (input and output are on the same signal, which would cause a short.circuit loop when trying to build a chain)

  • Jens-Michael Gross said:
    However, none of the programming tools implements this, all assume a single MSP between data send and return.

    Are you absolutely sure that this is only reason?

    What about this?

    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).


  • Ilmars said:
    Are you absolutely sure that this is only reason? [...]must be the first device in the  JTAG chain (because of clocking via TDI and JTAG fuse  check sequence).

    Absolutely? No. Who can? :)
    But quite.

    Yes, for the JTAG fuse check sequence (which isn't mandatory for use of JTAG) and of course fuse blowing (the old physical fuse, that is), the MSP must be the first on in the chain. But for the plain commands, it should be doable. I didn't say it is easy or even performant. And maybe some additional handling of the JTAG lines is required.

    Some 20 years ago, I was counted as a member of the "German Wizards", a non-organized group of coders for the GEOS OS. We were called this (it wasn't our idea, nor did we usually work together as a team) because we did things that nobody, including the developers of the OS, considered possible. Just by being 'creative' and looking at the problem from a different angle.
    From these days I keep the idea that things that are listed as 'not possible' in a manual are usually just 'not doable the mainstream way'. It's still true usually (but of course not always).

  • Jens-Michael Gross said:
    But for the plain commands, it should be doable. I didn't say it is easy or even performant. And maybe some additional handling of the JTAG lines is required.

    It was you who once said that if some undocumented feature appears to be possible with chip you have on hand -  it does not mean that it will work same way for every batch of chips unless it is guaranteed by TI, written in documentation. So where we are after all?

  • Ilmars said:
    It was you who once said that if some undocumented feature appears to be possible with chip you have on hand -  it does not mean that it will work same way for every batch of chips unless it is guaranteed by TI, written in documentation.

    Yes, that was me. However, We're not talking about an undocumented feature here, or using it beyond the specs. The JTAG signals, as well as the support of the bypass command in teh JTAG state machine, are well specified. Any change here would break the specifications as they are explicitely given.
    That's a completely different situation than pushing 8MHz into an input that is specified for 50kHz just because it works on some tested MSPs.

    Also, the description of the JTAG doesn't tell that it is impossible to chain JTAG devices, it just tells that the MSP must be the first in chain. That means that other JTAG devices can follow, and therefore the JTAG chain itself i s working. And if the chain is working, then the second device may as well be an MSP, just that no existing FET firmware is able to program it then. It doesn't say that it is impossible to do. The text doesn't tell whether the non-compliance is due to the MSP side or the FET side of the JTAG. Even more, it might be possible that chaining doesn't work if before the MSP is a different JTAG device in the chain but will work if all devices are MSPs.

    However, this discussion doesn't lead anywhere because I doubt that somebody will take the effort to write a flashing software that implements the JTAG direct access to the MSP. Not to mention a debugger.

**Attention** This is a public forum