Meine Meinung:
Die Datenübertragung in einem Bootloader ist nicht so wahnsinnig
zeitkritisch. Viel wichtiger ist, dass sie 100% sicher funktioniert. Ich
hab nichts davon, wenn die Übertragung um 40% schneller ist und dafür
dann jedes 856-te Byte falsch gebrannt wird, weil es kein Handshake gab
oder sich der Bootloader im µC auf einen falschen Frame-Anfang
synchronisiert hat.
* - die HEX-Datei als "char" Daten zu senden (die (Win)Applikation
> liest die Datei und sendet sie einfach weiter zum Bootloader)
Was passiert, wenn der µC mal eine kleine 'Auszeit' braucht um die
empfangenen Bytes dann auch mal zu brennen? Kann der µC auch für
kleinere Abschnitte erkennen, ob es einen Übertragungsfehler gab und
diesen Datenblock erneut anfordern?
Selbst in dieser 'Einfach-Version' brauchst du also schon so was wie ein
Protokoll. Bläst der PC die Bytes einfach als Bytes raus, dann wird es,
sagen wir mal, unangenehm sich spezielle Bytewerte zur
Protokollsteuerung zu definieren. Möglich ist es allerdings, so ist das
dann auch wieder nicht.