Werbung
Richtig, der Bootloader "horcht" nach einem Reset auf der RX Leitung und wartet dann darauf, dass Daten gesendet werden, wenn dann innerhalb eines bestimmten Zeitraumes nichts kommt, springt der Controller zum Hauptprogramm.das heißt ich flashe dann quasi via rx/tx?
Avrdude (das Programm welches die Arduino IDE benutzt, um zu flashen) sendet dem Bootloader die Daten über die Serielle Schnittstelle in dem Format wie es der Bootloader erwartet und verarbeiten kann.
Auch sendet der Bootloader Informationen an avrdude, nämlich auf welchem Chip er läuft, welches Protokoll er für den Datenaustausch erwartet (im Fall von Arduino das STK500v2 Protokoll, STK500 ist ein Entwicklungsboard von Atmel) etc.
MfG Torrentula
Super, danke dir!
noch eine frage: ist es möglich, aus Versehen den bootloader zu löschen, wenn man via ISP programmiert hat? Dann nimmt man ja keine Rücksicht auf schon vorhandene Programme, oder?
Ja, wenn du dem Programmer nicht sagst, dass vor den Daten die er schreiben soll noch einen Teil im Programmspeicher unberührt lassen soll (der Teil wo der Bootloader liegt), dann überschreibst du den Bootloader, hast allerdings beim Arduino auch 1kB mehr Programmspeicher.
Mehr Infos über Bootloader gibts hier: http://www.mikrocontroller.net/artic...ache_Anleitung
MfG Torrentula
Lesezeichen