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


von Stamsund (Gast)


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)


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)


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. (Gast)


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_)


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)


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)


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.

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
Noch kein Account? Hier anmelden.