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