cancel
Showing results for 
Search instead for 
Did you mean: 

Programming multiple STM32 MCUs in Device Using a Single USB Connection

SSpen
Associate II

So I'm working on a hardware prototype which utilises two STM32F303s on two separate boards. I need to provide DFU firmware update functionality so that a package can update the firmware of either or both chips.

The master board contains the USB connector and main STM32 and then has a serial connection to the second board with the other STM32 (although this can be altered if need be). I know that I can easily update the firmware of the main chip via DFU, and it's possible to program the second chip via the serial bootloader, but how to make these both happened via the single USB connection is stumping me.

Does anyone have any thoughts on how to approach this?

4 REPLIES 4
Pavel A.
Evangelist III

Why this is stumping you? First, you update the "main chip" over USB. Then the main chip updates the other over serial.

The main firmware should contain firmware for the other chip.

-- pa

Yeah so I understand at a higher level how it could work, but for example, how does the main chip determine when the firmware packet is for the second chip, and then switch into a usb-serial bridge mode?

You might consider using your own loader on the secondary part, and a DFU loader of your own construction on the primary. One could probably encapsulate both images in a singular DFU, and have the primary push a region across to the secondary.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hmm, sounds like I might have to go that way. I don't have any experience writing bootloaders though, so could be an interesting learning experience.