Gang programming several ARM MCUs

Thread Starter

electrophile

Joined Aug 30, 2013
167
I'm referring to the CC3200 which is TI's ARM M4 based MCU and a WiFi processor in a single chip (with the need for an external Flash memory). They have the popular Launchpad for prototyping and testing purposes. I'm building a custom CC3200 board however without the JTAG emulator and FTDI programmer and instead using those from the Launchpad to program the Flash and MCU on my custom board. I'm planning to do this via the UART and RESET lines taken from the launchpad itself (and another single pin from the JTAG interface that pulls a specific pin on the CC3200 HIGH while the Flash is being programmed). The software used for programming is called Uniflash.

My question is whether I can use these UART, RESET and the specific JTAG pin to program multiple devices at the same time. What I mean is can I make a bus of these lines and essentially gang several custom boards to be programmed at the same time? Should I be aware of any electrical characteristics that I need to account for?
 

MrChips

Joined Oct 2, 2009
30,708
My understanding is that this is not possible.

While it is ok to bus the TXD line from the programmer to multiple target devices you cannot do the same with the RXD line. Each individual target will be attempting to respond on the RXD line and this will result in contention (i.e. the data will be corrupted).
 

dannyf

Joined Sep 13, 2015
2,197
whether I can use these UART, RESET and the specific JTAG pin to program multiple devices at the same time.
The answer is always yes:

1) you can use a UART to program one MCU;
2) you can use JTAG to program one MCU;
3) you can use, or not to use, the RESET pin to program one MCU;
4) and more importantly, you can replicate that structure with additional hardware to do exactly what you want to do.

By the time you have designed such an infrastructure, you would have programmed thousands of the said MCU individually.
 
Top