Forum: Mikrocontroller und Digitale Elektronik AVR-Bootloader - und dann?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stamsund (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

irgendwie stehe ich gerade mächtig auf dem Schlauch: ich habe einen 
Arduino Nano, der mit dem Optiboot-Bootloader daherkommt. So weit ich 
das verstanden habe, brauche ich mit diesem keinen Programmer mehr 
sondern kann meine Firmware über den USB-Port des Nano an den Bootloader 
schicken, der diese dann in den Flash schreibt und beim nächsten mal 
startet.

Das wirft folgende Fragen auf:

- wie schicke ich diese Daten an die USB/serielle Schnittstelle? AVRDude 
erwartet immer noch die Angabe eines Programmers als Parameter, eine 
Option "Bootloader" gibt es nicht.

- wie mach ich dem Bootloader von außen klar, dass er nicht ein 
eventuell bereits auf dem Flash vorhandenes Programm starten soll, 
sondern eine neue Firmware vom USB-Port empfangen und schreiben soll?

Danke!

von Jim M. (turboj)


Bewertung
1 lesenswert
nicht lesenswert
Avdrdude will "-c arduino" sehen. Müsste damit auch gleich den richtigen 
(USB) Port auswählen.

Siehe auch: https://github.com/Optiboot/optiboot/wiki/HowOptibootWorks

: Bearbeitet durch User
von Bootloop (Gast)


Bewertung
1 lesenswert
nicht lesenswert
1. Projekt compilieren
2. HTerm starten
3. Korrekte Parameter für Serielle Verbindung einstellen
4. Datei Transfer --> Compilierte Hex Datei auswählen und übermitteln
5. Fertig

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Die Hardware löst beim Start des Programmiervorgangs normalerweise einen 
Reset aus. In der ersten Sekunde nach dem Reset wartet der Bootloader 
auf Befehle vom PC. Wenn keine kommen, startet er das eigentliche 
Anwendungsprogramm.

von Gerhard O. (gerhard_)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe das mal so ausprobiert bei einem PRO-MINI mit externen USB 
Adapter und mit batch file und es funktionierte einwandfrei::

Command Line BUILD and LOAD:
BOOTLOADER with AVRDUDE:

Assumes C:\AVRDUDE directory with:
----------------------------------
A.BAT
AVRDUDE.CONF
AVRDUDE.EXE
HelloWorld.hex <--- Dein AVR Programm

Inside A.BAT:

c:\AVRDUDE\avrdude -CC:\AVRDUDE\avrdude.conf -v -patmega328p -carduino 
-PCOM4 -b57600 -D -Uflash:w:C:\AVRDUDE\A.hex:i


Note: Verify correct COM port is used and modify -PCOMn entsprechend.

: Bearbeitet durch User
von Manfred (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stamsund schrieb:
> Arduino Nano, der mit dem Optiboot-Bootloader daherkommt

Beachte, dass per Optiboot mit 115200 bps geladen werden will.

von F. F. (foldi)


Bewertung
0 lesenswert
nicht lesenswert
Gerhard O. schrieb:
> Ich habe das mal so ausprobiert bei einem PRO-MINI mit externen USB
> Adapter und mit batch file und es funktionierte einwandfrei::

Oh klasse, das muss ich doch mal ausprobieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.