Langer 'Bootvorgang' beim Arduino (Video)

Gast #5748090
Moin,

in dem Video https://youtu.be/Bo0AIVQLccQ?t=423 wird gesagt, dass der 
Arduino aufgrund des Bootloaders eine Sekunde zum Hochfahren braucht.
Woran soll das liegen? Selbst wenn man 64 ms auf den Takt wartet und 
alle Module erstmal initialisiert, ist das doch in deutlich unter einer 
Sekunde erledigt.
Dussel schrieb:
> Selbst wenn man 64 ms auf den Takt wartet und
> alle Module erstmal initialisiert, ist das doch in deutlich unter einer
> Sekunde erledigt.

Der Bootloader wartet aber auf eine Instruktion vom PC. Die eine Sekunde 
ist sogar schon realtiv kurz gewählt.

Ohne diese Wartezeit könnte man den Arduino nur mit 'nem ISP Interface 
programmieren.
Der Bootloader gibt vermutlich dem Programmer Zeit, nach dem Reset den 
Programmiervorgang zu starten. Sprich, der µC wartet einige Zeit, ob er 
auf der seriellen Schnittstelle die entsprechenden Daten sieht.

Die generelle Abfolge ist:
1) Ardunio in Reset bringen. Entweder per Steuerbefehl vom PC aus, oder 
per Knopfdruck am Arduino.
2) Der Arduino führt den Bootloader Code aus. Darin wird vermutl. eine 
kurze Sequenz an Daten über die UART gesendet. Ab hier wartet der 
Arduino eine Zeit lang auf eine Antwort.
3) Der PC (Ardunio-IDE) muss sich im Programmiermodus befinden und 
wartet auf die Sequenz. Wenn es diese empfängt, wird mit dem neuen 
Programm geantwortet.
4) Der Arduino empfängt das Programm über die UART und schreibt es in 
seinen Speicher.
5) Es folgen möglicherweise noch einige Checksummen oder sonstiges 
Protokoll und dann Reset.

Hat der Arduino in 3) und 4) keine Daten empfangen, hört der Bootloader 
auf zu warten und führt das Hauptprogramm aus.
Jim M. schrieb:
> Ohne diese Wartezeit könnte man den Arduino nur mit 'nem ISP Interface
> programmieren.
Wobei einige Bastler den Bootloader einfach so modifiziert haben, dass 
er diese Wartezeit nur macht wenn ein angeschlossener Taster gedrückt 
gehalten wird.
Statt Taster geht auch ein Jumper auf einem Board. Ergibt eine recht 
komfortable lösung.
Gast
Jim M. schrieb:
> Der Bootloader wartet aber auf eine Instruktion vom PC. Die eine Sekunde
> ist sogar schon realtiv kurz gewählt.
Ach klar. Das wird es sein. Darauf bin ich nicht gekommen. Ich habe mich 
nur gewundert, warum das 'Hochfahren' so lange dauert…
Danke an alle.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.