Hallo, Ich würd gern, nur zu Übungszwecken, einen Bootloader für den ATmega schreiben. Damit ich mich voll auf die Embedded-seite konzentrieren soll dieser ein Protokoll sprechen dass es bereits gibt und idealerweise auch von avrdude unterstützt wird. Somit könnt ich mir das PC-Programm erstmal sparen. Evtl wäre mein Ergebnis dann auch für andere interessant. Laufen soll die Kommunikation über RS232/UART. Gibts da bereits etwas etabliertes? Grüße!
http://www.atmel.com/Images/doc2591.pdf ist etabliert, aber recht umfangreich. Bootloader macht man i.d.R. mit Absicht so spartanisch wie möglich.
Du kannst auch einfach kein Protokoll verwenden und die Programmdaten einfach mit einem Terminalprogramm zum µC senden. Eben das HEX-File als roher Datenstrom. Erfordert dann PC-Seitig auch keine spezielle Software. Das Intel-HEX-Format hat ja sogar bereits eine Checksumme zur rudimentären Fehlererkennung.
Roland ... schrieb: > Du kannst auch einfach kein Protokoll verwenden und die > Programmdaten > einfach mit einem Terminalprogramm zum µC senden. Das ist aber ein Protokoll! ;) Egal, Spitzfindigkeiten. > Eben das HEX-File als > roher Datenstrom. Erfordert dann PC-Seitig auch keine spezielle > Software. Das Intel-HEX-Format hat ja sogar bereits eine Checksumme zur > rudimentären Fehlererkennung. Das Intel-Hex-Format ist aber ganz schön aufwändig zu parsen und man müsste außerdem Flusskontrolle implementieren. Am sinnvollsten ist wohl ein einfaches paketbasiertes Protokoll. Man sendet Datenblöcke an den Mikrocontroller, die klein genug sind, um in dessen RAM zu passen. Der Controller schreibt die dann in den Flash und sendet danach ein ACK/NACK zurück. Als Prüfsumme kann man z.B. eine einfache modulare Summe verwenden.
greg schrieb: > Das Intel-Hex-Format ist aber ganz schön aufwändig zu parsen und man > müsste außerdem Flusskontrolle implementieren. > > Am sinnvollsten ist wohl ein einfaches paketbasiertes Protokoll. Man > sendet Datenblöcke an den Mikrocontroller, die klein genug sind, um in > dessen RAM zu passen. Der Controller schreibt die dann in den Flash und > sendet danach ein ACK/NACK zurück. Als Prüfsumme kann man z.B. eine > einfache modulare Summe verwenden. Zwar vielen Dank für deinen Beitrag, aber das geht an meiner Frage völlig vorbei. Mich interessiert weniger wie so ein Protokoll auszusehen hat sondern ob es ein "Standard"protokoll gibt, das am Besten auch von avrdude unterstützt wird. Wie gesagt, ich mach das nur als Fingerübung, aber wär schön wenn mein Ergebnis dann keine Insellösung ist...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.