I’d like to use an MCU as a proxy to program another MCU and I was planning to use the bootloader over UART.
Quick “schematic”
Programmer < – > Proxy < – > Target
The proxy in this case would be running an application and I would somehow put it into a proxy mode and I was thinking that it would then just forward in both directions which I could even set up with DMA I suppose.
I actually have the PCBs already being made. I know I can program both separately so I’m not worried about that, it’s just the proxy solution I haven’t tried before but I can’t see that there would be any latency issue. I can think of several ways to trigger the proxy mode with buttons, uart transfers and timers so I’m not too worried there. The proxy also has hardware control over the reset and BOOT0 pins of the target.
I guess the only thing I’m not super clear on is if I can know when the programming is finished. The proxy should ideally know that to be able to boot the target. I’d maybe have to use a timer and say that if there’s no transfer for a certain time then it either failed or finished.