Womit du ihn Progrmierst ist im Grunde Latte.

Der Bootloader macht beim Einschalten aus dem Controller für einen moment einen Slave.

Dh. dein Programmer muß sofort nach einschalten des Ziels die Komunikation aufbauen um ihn zu programieren.
Der Bootloader wartet nur eine einstellbare Zeit bevor er weitermacht.
Das Protokoll düftest du ja schon haben.