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
Message Index
Next page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod