cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple MCUs are connected via JTAG using a typical JTAG daisy chain connection. All MCUs are already programmed with a FW that uses the JTAG pins for other purposes. Is that still possible to use the JTAG daisy connection to program all MCU at once ?

Bastien LS
Associate III

Hi all,

The MCU we will be using is in the STM32U5 Family.

The debug probe will be the SEGGER J-Link Base.

Best regards,

Bastien

1 ACCEPTED SOLUTION

Accepted Solutions
Uwe Bonnes
Principal III

If you can keep the device with the remapped jtag pins under reset when connecting, you are set. Remapping only happens when device has started up.

View solution in original post

6 REPLIES 6

I don't know the U5, but on older STM32 the JTAG+SWD interface was always available when the mcu was held in reset using the NRST pin, see debug chapter in RM.

JW

Uwe Bonnes
Principal III

Jtag and SWD can not talk _simultanous_ ("at once") to multiple devices. Handling the devices sequential is possible, at least under reset.

> Jtag and SWD can not talk _simultanous_ ("at once") to multiple devices.

JTAG, as a bus, can. That's how it's designed - it's basically a shift register, so you chain up multiple devices in one long chain and then shift data through all of them in each individual step. It's a bit more involved than this, but this is the principle.

In fact, one STM32 already represents a chain of two JTAG devices - one is the boundary-scan device, and other is the debug adapter.

I don't know about Segger's implementations' capabilities.

JW

Uwe Bonnes
Principal III

Normally only one device in a JTAG chain has a working register selected while the other devicees are in bypass mode. In principle, multiple devices can have the same working register selected and the same payload can be delivered. But I do not know of any tool capable of that.

Bastien LS
Associate III

Thank you for clearing that out. I am not accustomed with JTAG, that is why I ask the question.

The need is to program multiple MCUs from a single connector, on a PCB panel that is composed of multiple boards, with 1 MCU on each board. To my knowledge, that is possible using JTAG. It is not an issue whether the MCUs are programmed simultaneously or sequentially (sorry for my misleading previous question).

But what if a panel is programed with the wrong firmware, and this firmware uses the JTAG pins for various functions: will the whole PCB still be programmable from the one JTAG connector?

Uwe Bonnes
Principal III

If you can keep the device with the remapped jtag pins under reset when connecting, you are set. Remapping only happens when device has started up.