Hallo,
ich habe mich gerade wegen binär-Daten zum AVR für XModem entschieden in
der alten Originalversion.
Vorteil: kein Hardware-Handshake nötig und auf große Bufferverwaltungen
auf dem AVR kann man auch verzichten.
Ein 128-Byte Buffer, dann in Ruhe verarbeiten und dann das ACK schicken,
damit die nächsten 128 Byte kommen. SOH und Blocknummer bearbeite ich
gleich beim Empfang, die Prüfsumme, wenn sie am Ende ankommt.
"In Ruhe verarbeiten" heißt natürlich, daß es in der TimeOut-Zeit von
XModem passieren muß, die ist aber normalerweise so lang, daß der AVR
noch nebenbei Karten spielen könnte.
Nachteil im Moment ist, daß der AVR die Übertragung mit NAK starten muß.
Da ich das nur nehme, um selten Daten in einen SPI-Flash am AVR zu
tragen, stört mich das nicht weiter.
Ich benutze TeraTerm unter Windows, da ist mein Ablauf zur Zeit:
AVR Reset mit festgehaltener Taste -> AVR geht in Flash-Routine und
meldet über UART beim Loslassen der Taste, daß er Daten will.
In TeraTerm XModen->Send und Datei auswählen.
Dann startet XMODEM und wartet.
Taste am AVR drücken, der sendet NAK und es geht los.
Hat für mich den Vorteil, daß es sich überall benutzen läßt und im AVR
wenig Aufwand erfordert.
Gruß aus Berlin
Michael