We are thinking of a machine control system consisting of up to 150 ARM-Cortex-M0 (or M0+) connected to one RS-485 half-duplex bus (two wires only) @38.400 bit/s.
Upgrading firmware in-the-field sequentially (point-to-point) is working, but would last several hours, blocking machine (no production). This is not accepted by customers.
So we need a somewhat 'Broadcast Bootloader' with sequential result control afterwards.
Did someone already face a similar problem (or has ideas how to solve) ? Best regards Juergen
Broadcast the data stream in a loop, minimize the communication of the nodes, perhaps schedule them to respond to a blocknumber % nodecount == nodeid with a completion or indicator of blocks accepted/required
If you didn't provide yourself enough storage to hold the new firmware, run an update loader from RAM