Where would be the best place to start looking for information on developing a bootloader using 2 microcontrollers for a CubeSat?
So the classic failure mode is:

new update contains either a bug or corruption during download and installation

new update boots up

before it reaches a point where you can communicate with it, it crashes

either (a) it goes back to the boot point, and does the same thing again

(b) it locks up, and eventually gets reset by the hardware watchdog


If you have a failsafe bootloader, it will have some way of detecting that the last boot did not reach a point which could be deemed &quot;success&quot;, at which point it switches to booting the other, older copy of the firmware.
It may not be 100% necessary to have a separate microcontroller for this, but it does enable you to replace only one of their firmwares at a time.