avrdude.conf, wo finde ich die Argumente?

OP #7820210
Lesenswert?

Neues Spiel, neues Glück.

nach, sehr, langer Zeit möchte ich wieder ein wenig programmieren. Da ich keine Lust mehr auf Netzteil, STK 500, breadboard und das ganze Gerödel auf dem Schreibtisch haben möchte, habe ich mir ein Nano V3 Board besorgt.

Treiber ist installiert, Gerät wird erkannt. In Microchip Studio unter "external tools" bereits angegeben wo sich avrdude befindet.

Fehlen nur die "Arguments" Wo finde ich die? Da gibt es doch bestimmt eine Art datasheet wo man sich die einzelnen Argumente raussucht und wo auch steht wie die genau eingetragen werden müssen?

Die Fehlermeldung impliziert auch so etwas.

Wer kennt sich aus? Danke?

OP #7820240
Lesenswert?

Danke Harry L.

Was dort steht verstehe ich nur bedingt. Habe mir also aus dem Netz folgendes kopiert:

-pm328p -carduino -PCOM05 -b57600 -Uflash:w: "$(ProjectDir)Debug$(TargetName).hex ":i

Schon mal besser da nur eine Fehlermeldung kommt:

"Error: no programmer has been specified on the command line or in the config file(s); specify one using the -c option and try again"

Um "-c" Optionen auf der von Dir verlinkten Seite zu finden, bin ich zu blöd.

Warum arduino nicht richtig sein soll erschließt sich mir nicht. Ist das nicht Sinn der Übung?

OP #7820259
Lesenswert?

Hallo Harry L.

In diesem "datasheet" ist es etwas übersichtlicher dargestellt:

https://www.nongnu.org/avrdude/user-manual/avrdude_3.html

Wenn man dort unter "-c" schaut, taucht auch "arduino" auf. Und in meinem Fall kann das eigentlich nur die richtige Wahl sein.

Es geht ja in diesem Zusammenhang nicht wirklich um "Arduino-Zeugs"

Nun: Ich befürchte das wird hier noch mühsam. :-(

Moderator Persönliche Seite #7820260
Lesenswert?

Attila C. schrieb:

Um "-c" Optionen auf der von Dir verlinkten Seite zu finden, bin ich zu blöd.

Die -c Option hast du ja eigentlich angegeben. Man darf da auch Leerzeichen nach dem Buchstaben einfügen, und mit „-c arduino“ liest sich das etwas verständlicher.

Mir ist aber noch nicht ganz klar, warum dann trotzdem die Beschwerde kommt, du hättest sie nicht angegeben.

Moderator Persönliche Seite #7820264
Lesenswert?

Attila C. schrieb:

Und in meinem Fall kann das eigentlich nur die richtige Wahl sein.

Das ist so wiederum auch noch nicht völlig sicher.

Es gibt da wohl leider verschiedene Bootloader-Versionen, zusätzlich noch hat die Arduino-IDE lange Zeit eine gehackte, sorry, modifizierte Version von AVRDUDE mit verteilt. Dann wiederum ist noch nicht einmal dein "Nano V3" eine irgendwie brauchbare Angabe: ein originaler Arduino Nano? Ein AZ Delivery Nano V3?

#7820357
Lesenswert?

Hallo, man kann es aus der Arduino IDE rauskopieren und dann an verschiedenen Stellen modifizieren.

Hier mal als Beispiel ein Arduino R3 an COM3:

Command-Fenster

C:\Users\xyz\AppData\Local\arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude.exe

Arguments-Fenster

-C"C:\Users\xyz\AppData\Local\arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM3" -b115200 -D -Uflash:w:"$(ProjectDir)Debug$(TargetName).hex":i

#7820431
Lesenswert?

Attila C. schrieb:

-pm328p -carduino -PCOM05 -b57600 -Uflash:w: "$(ProjectDir)Debug$(TargetName).hex ":i

Das ist etwas, was nur die IDE auswerten kann, aber nicht avrdude selbst. Der Dateiname, der an das Kommando -Uflash:w: angehängt wird, wird von der IDE beim Aufruf des Tools zusammengebastelt, also darf das nicht in einer von avrdude auszulesenden Konfigurationsdatei stehen.

Denn avrdude weiß weder, was $(ProjectDir) noch was $(TargetName) ist.

#7820483
Lesenswert?

Harald K. schrieb:

Attila C. schrieb:

-pm328p -carduino -PCOM05 -b57600 -Uflash:w: "$(ProjectDir)Debug$(TargetName).hex ":i

Das ist etwas, was nur die IDE auswerten kann, aber nicht avrdude selbst. Der Dateiname, der an das Kommando -Uflash:w: angehängt wird, wird von der IDE beim Aufruf des Tools zusammengebastelt, also darf das nicht in einer von avrdude auszulesenden Konfigurationsdatei stehen.

Denn avrdude weiß weder, was $(ProjectDir) noch was $(TargetName) ist.

Er will doch aber gerade Mikrochip Studio verwenden und nicht avrdude solo?

#7820497
Lesenswert?

Zu avrdude gehört auch immer eine .conf Datei in der Ziel-Mikrocontroller und Programmiergeräte beschrieben sind. Kann es sein, dass das Programmiergerät "arduino" nur in der von der Arduino IDE mitgelieferten avrdude.conf existiert ?

Andererseits äfft der Arduino Bootloader ein Programmiergerät nach Application Note 910 nach. Auch die auf dem Eval-Board STK500 enthaltenen Programmiergeräte funktionieren in der Art.

Der Bootloader der Arduino Boards hat halt nur die Einschränkungen, dass er nicht die ID Bytes des Mikrocontrollers liest und ausgibt, wenn er danach gefragt wird, sondern in der Bootloadersoftware verankerte Konstanten. Auch die Fuse-Bits kann man nicht per Bootloader schreiben. Das Kommando Full-Chip-Erase kann natürlich auch über den Bootloader nicht wie bei einem externen Programmiergerät funktionieren.

#7820521
Lesenswert?

Arduino F. schrieb:

Die genannte Fehlermeldung deutet nicht auf einen solchen Chip hin.

Naja ich hab so ein Board was sich nicht mit der Arduino IDE programmieren lässt. Das Flashen via SPI geht problemlos.

Mit USBTreeView kann man das Fake auch erkennen. Der Device String ist "USB2.0-Ser!". Das Original meldet sich mit "USB Serial" .

Angehängte Dateien:
(Firma: Gast) #7820531
Lesenswert?

Thomas Z. schrieb:

Naja ich hab so ein Board was sich nicht mit der Arduino IDE programmieren lässt. Das Flashen via SPI geht problemlos.

Mit USBTreeView kann man das Fake auch erkennen. Der Device String ist "USB2.0-Ser!". Das Original meldet sich mit "USB Serial" .

Das kann ja alles sein....

Die Fehlermeldung deutet auf andere Probleme hin: Attila C. schrieb im Beitrag #7820240:

Was dort steht verstehe ich nur bedingt. Habe mir also aus dem Netz folgendes kopiert:

-pm328p -carduino -PCOM05 -b57600 -Uflash:w: "$(ProjectDir)Debug$(TargetName).hex ":i

Schon mal besser da nur eine Fehlermeldung kommt:

"Error: no programmer has been specified on the command line or in the config file(s); specify one using the -c option and try again"

Moderator Persönliche Seite #7820586
Lesenswert?

Flunder schrieb:

Kann es sein, dass das Programmiergerät "arduino" nur in der von der Arduino IDE mitgelieferten avrdude.conf existiert ?

Wenn sie derjenige, der AVRDUDE auf dem Computer installiert hat, nicht explizit modifiziert hat: nein. "arduino" ist bereits seit vielen Jahren ein gültiger Programmer-Eintrag. Im Wesentlichen ein STK500v1, aber leicht modifiziert.

Moderator Persönliche Seite #7820876
Lesenswert?

Björn W. schrieb:

Das konnte ich aber bei "avrdude-v8.0-windows-x64.zip" z.B. nicht finden.

Der MinGW-Build im CI sollte es eigentlich mit bauen, nur der MSVC-Build nicht:

1
  mingw:
2
    runs-on: windows-latest
3
4
          install: >-
5
6
            mingw-w64-${{matrix.env}}-python            
7
            mingw-w64-${{matrix.env}}-swig

Python und SWIG sind erstmal die Voraussetzungen, dass das GUI überhaupt gebaut werden kann.

Allerdings werden die entsprechenden Ergebnisse offenbar nicht installiert:

1
      - name: Archive executables
2
        uses: actions/upload-artifact@v3
3
        with:
4
          name: avrdude-mingw-${{matrix.env}}
5
          path: |
6
            build/src/avrdude.exe
7
            build/src/avrdude.conf

Ich bin aber hinsichtlich der Github-Workflows arg unterbelichtet. Ich habe mal probiert, ob ich in meinem Fork des offiziellen Repos den Workflow-Script so modifizieren kann, dass er die entsprechenden Teile mit archiviert.

Was man auf jeden Fall dann noch auf dem Zielsystem benötigt ist ein Qt5 mit PySide2 oder Qt6 mit PySide6. Das können und dürfen wir natürlich nicht mit ausliefern, aus lizenzrechtlichen Gründen.

Moderator Persönliche Seite #7820880
Lesenswert?

Jörg W. schrieb:

Ich habe mal probiert, ob ich in meinem Fork des offiziellen Repos den Workflow-Script so modifizieren kann, dass er die entsprechenden Teile mit archiviert.

Pah:

Starting January 30th, 2025, GitHub Actions customers will no longer be able to use v3 of actions/upload-artifact or actions/download-artifact.

Da bin ich natürlich jetzt genau zur Deadline rein getappt. :-/

OP #7820881
Lesenswert?

Oh wow! Was für ein Feedback! Danke Leute!

Also: Ich habe die Arduino IDE installiert und das Nano "spricht" mit mir. Es hat aber darauf bestanden mit dem "old bootloader" gefüttert zu werden.

@ Jo U. : Command-Fenster? Arguments_Fenster? Wo finde ich das?

@ Thomas Z: Beide Chips ohne Beschriftung. Aber dass er mit der Arduino IDE spricht ist doch ein gutes Zeichen?

@Arduino F. : Welche Zeile muss ich wo kopieren? Und: "-b57600" hatte ich eingetragen.

@Flunder : Die conf Datei ist ein Teil von einem avrdude den ich aus dem Netz habe: "avrdude-v8.0-windows-mingw-x64" In der dazugehörenden conf Datei ist auch "arduino" aufgeführt.

Danke!

OP #7820906
Lesenswert?

Attila C. schrieb:

Jörg W. schrieb:

Attila C. schrieb:

Die conf Datei ist ein Teil von einem avrdude den ich aus dem Netz habe

Das solltest du nicht tun.

Gerade „große“ Versionssprünge werden dann angesetzt, wenn sich irgendwas inkompatibel geändert hat, und Änderungen der Konfigurations-Syntax gehört da gut und gern mit dazu.

WAS sollte ich tun?

Welches avrdude mag Microchip Studio denn? Wie findet man so etwas heraus?

OP #7820911
Lesenswert?

Jörg W. schrieb:

Attila C. schrieb:

WAS sollte ich tun?

Ein avrdude.conf gehört zu einem avrdude.exe. Beide zusammen benutzen.

Dem Studio ist die exakte Version vermutlich mittelmäßig egal.

Ja selbstverständlich kam das conf zusammen mit dem avrdude. Hab so schon genug Schwierigkeiten.

Es bleibt beim "Error: no programmer has been specified on the command line or in the config file(s); specify one using the -c option and try again" obwohl ich da "-carduino" stehen habe.

Moderator Persönliche Seite #7820912
Lesenswert?

Björn W. schrieb:

Laut Github sollte ja eigentlich "A script named avrdude-gui is installed into the same location as the AVRDUDE CLI program." sein..

So, ich habe den CI-Script etwas angepasst. Jetzt wird bei MinGW zumindest das GUI am Ende mit installiert.

Probier mal:

(CLang version)

https://github.com/dl8dtl/avrdude/actions/runs/13060711171/artifacts/2513193495

(MinGW GCC version)

https://github.com/dl8dtl/avrdude/actions/runs/13060711171/artifacts/2513197957

Ist jetzt aus dem CI meines privaten Forks, aber der Code selbst sollte identisch mit dem offiziellen Tree sein.

Wie oben geschrieben, du musst Qt + PySide (von Qt gelieferte Python-Integration) vorher installieren. Bei mir startet es unter Wine, beschwert sich dann nur genau über letzteres.

OP #7820918
Lesenswert?

Jörg W. schrieb:

Attila C. schrieb:

Es bleibt beim "Error: no programmer has been specified on the command line

Dann müsstest du mal gucken, ob du dem Studio irgendwie entlocken kannst, welches Kommando er denn tatsächlich aufgerufen hat. Diese Ausschrift stammt direkt aus AVRDUDE, aber sie wird nur dann produziert, wenn es keine -c Option gab.

Diese Meldung erscheint wenn ich versuche den von mir im "external tools" erstellten Tool aufzurufen. Wie man dem Studio entlockt was es dabei aufruft weiß ich nicht.

#7821094
Lesenswert?

Attila C. schrieb:

Oh wow! Was für ein Feedback! Danke Leute!

Also: Ich habe die Arduino IDE installiert und das Nano "spricht" mit mir. Es hat aber darauf bestanden mit dem "old bootloader" gefüttert zu werden.

@ Jo U. : Command-Fenster? Arguments_Fenster? Wo finde ich das?

Danke!

Hier, siehe Bild. Erreichbar unter "Tools->External Tools..."

Angehängte Dateien:
OP #7821097
Lesenswert?

Jo U. schrieb:

Attila C. schrieb:

Oh wow! Was für ein Feedback! Danke Leute!

Also: Ich habe die Arduino IDE installiert und das Nano "spricht" mit mir. Es hat aber darauf bestanden mit dem "old bootloader" gefüttert zu werden.

@ Jo U. : Command-Fenster? Arguments_Fenster? Wo finde ich das?

Danke!

Hier, siehe Bild. Erreichbar unter "Tools->External Tools..."

Ach sooooo! Bitteschön:

Command: C:\Users\attil\Downloads\avrdude-v8.0-windows-mingw-x64\avrdude.exe

Arguments: "C:\Users\attil\Downloads\avrdude-v8.0-windows-mingw-x64\avrdude.conf"-pm328p -carduino -PCOM5 -b57600 -Uflash:w:

Ich befürchte: Da ja das "-pm328p" anstandslos akzeptiert wird aber das "-carduino" nicht, ist es etwas komplizierter. :-(

#7821101
Lesenswert?

Hallo,

du musst doch eine funktionierende Kommandozeile zur Hand haben die du in einem Terminal eintippst. Vorher brauch man nicht weitermachen. Wenn du immer nur in Microchip Studio rumprobierst, kann das nichts werden. Viel zu viele Fehlerquellen. Wenn du eine funktionierende Kommandozeile hast, gehts hier weiter. 2 Bsp.: Beitrag "Re: UPDI Programmer bauen - alias "El Tangas""

#7821112
Lesenswert?

Attila C. schrieb:

Jo U. schrieb:

Attila C. schrieb:

Oh wow! Was für ein Feedback! Danke Leute!

Also: Ich habe die Arduino IDE installiert und das Nano "spricht" mit mir. Es hat aber darauf bestanden mit dem "old bootloader" gefüttert zu werden.

@ Jo U. : Command-Fenster? Arguments_Fenster? Wo finde ich das?

Danke!

Hier, siehe Bild. Erreichbar unter "Tools->External Tools..."

Ach sooooo! Bitteschön:

Command: C:\Users\attil\Downloads\avrdude-v8.0-windows-mingw-x64\avrdude.exe

Arguments: "C:\Users\attil\Downloads\avrdude-v8.0-windows-mingw-x64\avrdude.conf"-pm328p -carduino -PCOM5 -b57600 -Uflash:w:

Ich befürchte: Da ja das "-pm328p" anstandslos akzeptiert wird aber das "-carduino" nicht, ist es etwas komplizierter. :-(

Was spricht dagegen, die Command- und die Arguments-Zeile genau so einzugeben?

Command-Fenster

C:\Users\xyz\AppData\Local\arduino15\packages\arduino\tools\avrdude\6.3. 0-arduino17/bin/avrdude.exe

Arguments-Fenster

-C"C:\Users\xyz\AppData\Local\arduino15\packages\arduino\tools\avrdude\6 .3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM3" -b115200 -D -Uflash:w:"$(ProjectDir)Debug$(TargetName).hex":i

Ich ändere immer nur COM_ und es funktioniert mit mehreren Unos und Megas. Zur Not die Arduino IDE installieren, man muss sie ja nicht benutzen.

OP #7821153
Lesenswert?

Thomas Z. schrieb:

Attila C. schrieb:

"Funktionierende Kommandozeile"? Was ist das? Wo finde ich das?

Bei dir fehlt -C am Anfang der Parameters

versuch mal -C"C:\Users\attil\Downloads\avrdude-v8.0-windows-mingw-x64\avrdude.conf"-pm328p -carduino -PCOM5 -b57600 -Uflash:w:

Genial! Leider habe ich trotzdem noch eine Fehlermeldung:

Error: cannot set com-state for \.\COM5 Error: unable to open port COM5 for programmer arduino Possible candidate serial ports are: -P COM1 -P COM3 -P COM4 -P COM5 or -P ch340 Note that above ports might not be connected to a target board or an AVR programmer. Also note there may be other direct serial ports not listed above.

Avrdude done. Thank you.

Mein Nano V3 hängt am COM 5. Ich habe kein serielle Schnittstelle Ausleser am laufen ( Gerne bei Arduino ein Problem)

Weiter gehts! Danke!

OP #7821158
Lesenswert?

Ok: Ich hatte jetzt mit der arduino IDE eine vergleichbare Fehlermeldung. Nach Installation eines anderen Ch340 Treibers funktioniert es wieder mit arduino.

Mit Microchip Studio erhalte ich allerdings folgende Fehlermeldung:

OS error: file .hex is not readable: No such file or directory OS error: cannot open input file Debug.hex : No such file or directory Error: reading from file .hex failed

Was könnte das nun wiederum sein?

OP #7821165
Lesenswert?

=========================== USB Port5 ===========================

Connection Status : 0x01 (Device is connected) Port Chain : 1-5 Properties : 0x01 IsUserConnectable : yes PortIsDebugCapable : no PortHasMultiCompanions : no PortConnectorIsTypeC : no ConnectionIndex : 0x05 (Port 5) CompanionIndex : 0 CompanionHubSymLnk : USB#ROOT_HUB30#4&1891dc9c&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8} CompanionPortNumber : 0x15 (Port 21) -> CompanionPortChain : 1-21

1
  ========================== Summary =========================

Vendor ID : 0x1A86 (Nanjing Qinheng Microelectronics Co., Ltd.) Product ID : 0x7523 Manufacturer String : --- Product String : USB2.0-Ser! Serial : --- USB Version : 1.1 Port maximum Speed : High-Speed (Companion Port 1-21 is doing the SuperSpeed) Device maximum Speed : Full-Speed Device Connection Speed : Full-Speed Self powered : no Demanded Current : 96 mA Used Endpoints : 4

OP #7821172
Lesenswert?

Ich habe jetzt dies als Argument bei MS:

-C"C:\Users\attil\Downloads\avrdude-v8.0-windows-mingw-x64\avrdude.conf" -pm328p -carduino -PCOM5 -b57600 -Uflash:w:

Und bekomme dies als Fehlermeldung: OS error: file is not readable: OS error: unable to open : Invalid argument Error: cannot determine file format for , specify explicitly Error: reading from file failed

Arduino IDE geht nach wie vor problemlos.

#7821457
Lesenswert?

Jörg W. schrieb:

So, ich habe den CI-Script etwas angepasst. Jetzt wird bei MinGW zumindest das GUI am Ende mit installiert.

Danke für deine schnelle Reaktion. Ansich brauch ich das GUI nicht, bin immer ohne ausgekommen und war eigentlich nur Neugierig.

Wie oben geschrieben, du musst Qt + PySide (von Qt gelieferte Python-Integration) vorher installieren.

Ja, das genau hindert mich daran weiter Neugierig zu sein.

Moderator Persönliche Seite #7821549
Lesenswert?

Björn W. schrieb:

Ja, das genau hindert mich daran weiter Neugierig zu sein.

Naja, mit irgendwas muss man ein GUI halt bauen.

Qt ist ein netter Toolkit, der ein plattformübergreifendes GUI zumindest überhaupt erstmal ermöglicht. Python wiederum war zusammen mit SWIG der einfachste Weg, um die libavrdude in irgendeine andere Sprache einzubinden.

Das Ganze ist auch eher ein Demonstrator um zu zeigen, dass ein GUI doch einiges mehr oder schöner machen kann, indem es auf der libavrdude aufsetzt statt auf den CLI.

Auf Windows hatte ich es jetzt aber auch noch nicht zum Laufen bekommen. Anbei ein Screenshot von meinem FreeBSD.

Angehängte Dateien:
OP #7824053
Lesenswert?

So: Nach einigen Tagen des Studiums von den von euch empfohlenen Dingen:

Das AZ Nano V3 lässt sich problemlos mit der Arduino IDE programmieren!

Mit dem Kommandozeilen-Ding erscheint "Error: programmer is not responding" und dann die 10 Versuche.

Avrdude scheint zumindest den Port zu erkennen da nach den 10 Versuchen unter anderem dies erscheint: "-P COM5 or -P ch340"

Meine Kommandozeile lautet: avrdude - p m328p -c arduino -P ch340 -U flash

Google Suche ergab die üblichen Verdächtigen. Ich konnte aber praktisch alles ausschliessen da es ja mit der Arduino IDE funktioniert. (Hardwarefehler, Bootloader, fehlende Treiber usw.)

Hat jemand eine Idee?

OP #7824064
Lesenswert?

Arduino F. schrieb:

Attila C. schrieb:

-P ch340

Schwachsinn! Niemand hat davon geredet. Wirklich niemand.

Attila C. schrieb:

Das AZ Nano V3 lässt sich problemlos mit der Arduino IDE programmieren!

Fein, dann nimm doch die Zeile die Arduino verwendet. Was hält dich davon ab?

Unwissenheit!

Wie auch immer, dies hier funktioniert: "-v -V -patmega328p -carduino "-PCOM5" -b57600 -D"

Jetzt nur noch im MC Studio ans Laufen bekommen! :-)

#7824126
Lesenswert?

Attila C. schrieb:

Jetzt nur noch im MC Studio ans Laufen bekommen! :-)

nun das hat ja avrusb weiter oben gezeigt.. die Pfade, Comport und Baudrate musst du halt anpassen. Das ist doch nicht so schwer oder?

Jo U. schrieb:

Command-Fenster

C:\Users\xyz\AppData\Local\arduino15\packages\arduino\tools\avrdude\6.3. 0-arduino17/bin/avrdude.exe

Arguments-Fenster

-C"C:\Users\xyz\AppData\Local\arduino15\packages\arduino\tools\avrdude\6 .3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM3" -b115200 -D -Uflash:w:"$(ProjectDir)Debug$(TargetName).hex":i

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren