Electronics > Projects, Designs, and Technical Stuff

Debugging and/or flashing multiple microcontrollers

(1/3) > >>

Dr_Neoo:
Hello,
I'm working on a system which will exsist of multiple microcontroller (STM32). The boards will not be easily accessible once installed and I have been considering different solution on how to program or debug each one after installation. Some of the ideas I have considered so far are:

* Simply breaking out each SWD header to a connector and using this with an external debugger. Biggest downside is need for a large connector.
* Using a bootloader via uart/can/usb. Downside is loosing debugger functionality and is not guranteed to reduce wiring.
* Creating an internal PCB with an embedded usb hub and one ST-Link or similar debugger for every microcontroller in the system. Seems like the best solution but I'm unsure how running through a hub will affect the debuggers?

The system is a one-off and will be used for development so cost isn't the main consern. The focus is getting something that can be integrated in a small space without large amount of time needed to develop it.

How would you go about solving this? I'm sure there are a lot of possible solutions I have not considered so I look forward to hear your thoughts!

Prehistoricman:
How about having a tristate buffer on each micro that gets switched on when you want to talk to that specific micro? The enable signal can go via a shift register to achieve only 2 wires for n devices.

Scrts:
AFAIK normal JTAG requires a 10 pin header? Just route as a normal daisy chained JTAG going from TDI to TDO and routing TCK and TMS to each device...

SiliconWizard:

--- Quote from: Scrts on February 27, 2020, 04:09:27 pm ---AFAIK normal JTAG requires a 10 pin header? Just route as a normal daisy chained JTAG going from TDI to TDO and routing TCK and TMS to each device...

--- End quote ---

That would work for normal JTAG, but not for SWD. There is no easy way to daisy-chain SWD. But you can handle this with some extra logic.

Pack34:
Isn't this what bootloaders are for? Program through the UARTs and chain all of them together. Then when you doing a programming cycle, just target the one at the end of the chain and then work your way back.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod