Hallo, ich habe mir Eclipse und das AVR-Plugin nebst Toolchain heruntergeladen und es funktioniert auch fast alles. Alles unter Ubuntu 16.04. Leider kann ich kein Target einstellen, da der Aufruf von avrdude immer mit der Meldung "The port "/dev/ttyUSB0" for the Programmer "avrisp2" is blocked. dmesg liefert: 540.726014] usb 3-2: new full-speed USB device number 3 using xhci_hcd [ 540.871166] usb 3-2: New USB device found, idVendor=0403, idProduct=6001 [ 540.871169] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 540.871170] usb 3-2: Product: USB SERIAL CONVERTER [ 540.873971] ftdi_sio 3-2:1.0: FTDI USB Serial Device converter detected [ 540.874374] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0 /dev sieht so aus: crw-rw---- 1 root dialout 188, 0 Feb 7 15:45 /dev/ttyUSB0 Mein User ist auch der Gruppe dialout zugeordnet. Ein manueller Aufruf von avrdude liefert: $ avrdude -p m168 -P /dev/ttyUSB0 -cavrispv2 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9406 (probably m168) avrdude: safemode: Fuses OK (E:F9, H:DF, L:E2) avrdude done. Thank you. Ich möchte Eclipse nicht unter root starten. Hat jemand vielleicht noch einen Tipp? Besten Dank!
Pete K. schrieb: > Ein manueller Aufruf von avrdude liefert: > $ avrdude -p m168 -P /dev/ttyUSB0 -cavrispv2 In der Konsole von Eclipse wird angezeigt mit welcher Kommandozeile Eclipse versucht den avrdude zu starten. Zeig mal was da steht, bzw finde den Unterschied.
:
Bearbeitet durch User
Da steht drin: Launching /usr/bin/avrdude -pm16 -cavrisp2 -P /dev/ttyUSB0 -v -Uflash:w:OLED.hex:a -Ueeprom:w:OLED.eep:a Output: avrdude: Version 6.3 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "/etc/avrdude.conf" User configuration file is "/home/piet/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyUSB0 Using Programmer : avrisp2 avrdude: ser_open(): can't open device " /dev/ttyUSB0": No such file or directory avrdude done. Thank you. avrdude execution aborted
:
Bearbeitet durch User
Oder starte Eclipse mal neu, evtl ist noch ein vorheriger Programmierversuch im Hintergrund am Laufen (sieht man auch unten rechts in der Statusleiste von Eclipse wenn es noch auf irgendeinem nicht abgeschlossenen oder hängengebliebenen Vorgang herumkaut)
:
Bearbeitet durch User
Ja, habe schon ein Neustart gemacht. Hat nichts geholfen. Prozesse sind wie folgt: piet 2992 1695 0 15:47 ? 00:00:00 /usr/lib/eclipse/eclipse piet 3010 2992 2 15:47 ? 00:04:08 /usr/bin/java -Xms40m -Xmx384m -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse /dropins -XX:MaxPermSize=256m -jar /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.dist.jar -os linux -ws gtk -arch x86_64 -showsplash /usr/lib/eclipse//plugins/org.eclipse.platform_3.8.1.dist/splash.bmp -launcher /usr/lib/eclipse/eclipse -name Eclipse --launcher.library /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_ 1.1.200.dist/eclipse_1503.so -startup /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.dist.jar --launcher.overrideVmargs -exitdata 4b8009 -vm /usr/bin/java -vmargs -Xms40m -Xmx384m -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse /dropins -XX:MaxPermSize=256m -jar /usr/lib/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.dist.jar
Wenn man den Programmer abzieht und wieder ansteckt, springt er einen Port weiter. Probier's mal mit /dev/ttyUSB1. Nach dem Neustarten des Rechners, geht's wieder bei /dev/ttyUSB0 los ;-)
Pete K. schrieb: > " /dev/ttyUSB0": No such file or directory Wo kommt das Leerzeichen her?
1 | Using Port : /dev/ttyUSB0 |
2 | Using Programmer : avrisp2 |
3 | avrdude: ser_open(): can't open device " /dev/ttyUSB0": No such file or |
In der "Using Port"-Zeile scheint auch eins zu sein. [Edit:] Anscheinend packt das AVR-Plugin das -P und das /dev/ttyUSB0 beim Starten des Prozesses in das selbe argv Element (etwa so als hätte man in einer Shell "-P /dev/ttyUSB0" geschrieben) und das was das Plugin dann in der Konsole ausgibt was angeblich übergeben wurde hat nichts mehr mit dem zu tun was eine Shell mit dem Leerzeichen gemacht hätte (die würde zwei Argumente draus machen). Ich kann Deinen Fehler reproduzieren wenn ich in den avrdude-Einstellungen von Eclipse vor dem Devicenamen ein Leerzeichen einfüge. Die Fehlermeldung in dem Popup (von wegen blockiert) ist auch irreführend und aus der Luft gesaugt und hat nichts mit der Fehlermeldung zu tun die avrdude eigentlich wirklich liefert. [Edit2:] Ganz unten im Fehler-Popup steht der wahre Grund (no such file) das hättest Du lesen und hier komplett zitieren sollen, nicht nur den ersten Satz. Merke: Immer vollständige Fehlermeldungen. Immer alles zuende lesen.
:
Bearbeitet durch User
Vielen Dank für die Hilfe. Jetzt komme ich ein Stück weiter, allerdings kommt eine nächste Fehlermedung (siehe Screenshot). Ich kann den MCU-Type auch nicht manuell setzen, die Combobox zur Auswahl ist ausgegraut.
:
Bearbeitet durch User
Jemand anders muss übernehmen, ich hab grad nichts funktionsfähiges zur Hand das ich bei mir mal anschließen könnte zwecks Vergleich. Aber auch hier wieder wäre es interessant zusätzlich auch die komplette Konsolenausgabe von avrdude zu sehen die zu diesem Fehler führt, evtl versteckt sich da noch ein Hinweis.
Wo bekomme ich die Konsolenausgabe her? Vorhin habe ich einfach eine Übertragung gestartet, das geht jetzt nicht. Und in der Build-Console stehen keine AVR Details. Ich habe keinen Schalter für die AVR-Console gefunden.
Pete K. schrieb: > Ich kann den MCU-Type auch nicht manuell setzen, die Combobox zur > Auswahl ist ausgegraut. Da war doch neulich irgendwas, ich hab über das selbe Problem (Plugin hat keinen einzigen Controller in der Liste) in einem anderen Thread gelesen. Irgendwer hier wird sich erinnern können.
Pete K. schrieb: > Wo bekomme ich die Konsolenausgabe her? Im Konsolentab von Eclipse (das hat auch ein kleines Dropdown oben, zweites von rechts bei dem man zwischen verschiedenen Konsolen umschalten kann (build console, gdb, etc.), eine davon ist AVRDude)
Hmm, bin ich zu blöd das zu finden? Benutze CDT Version: 3.8.1. avr-gcc ist 4.9.2 avrdude ist 6.3 avr plugin ist 2.4.2
:
Bearbeitet durch User
In den Screenshot siehst Du wo man die Konsole auswählt. In meinem Beispiel habe ich einen Upload auf den Arduino gestartet aber der Arduino war nicht angeschlossen. Grün zu sehen ist die Orginalfehlermeldung vom avrdude.
Aber das Problem daß die MCU-Auswahlbox bei Dir leer ist (da müsste eine lange Liste von AVRs sein) deutet auf den anderen Fehler hin der hier letztens mal diskutiert wurde, ich glaube ein möglicher Fix war irgendeine gepatchte Version den Plugins zu nehmen. Erstaunlicherweise habe ich das Problem noch nie gehabt, obwohl ich das ganz normale Plugin in der offiziellen Version habe.
Habe das jetzt mal mit dem Plugin aus Beitrag "Helpthread zum Wikiartikel AVR Eclipse" probiert, geht auch nicht. Kann es sein, dass der avr-gcc hier Probleme macht? Siehe Screenshot anbei. Compilieren und Linken ist aber kein Problem. (Versionen siehe oben) Habe jetzt auf die aktuellste Neon Version von Eclipse upgedated und im Window->Preferences Window fehlt wohl eine Datei mit den AVR Typen. Kennt jemand diese Datei und weiss, wie diese aussehen soll?
:
Bearbeitet durch User
OK, jetzt bekomme ich die MCU-Liste angezeigt. Ich habe nach der aktuellen Neon Version 4.6.2 das Plugin 2.4.2 manuell eingespielt und nun geht es. Nachtrag: Wenn ich auf "Load from MCU" klicke, dann bekomme ich diesen Output:
1 | Launching /usr/bin/avrdude -cavrisp2 -P/dev/ttyUSB0 -px128a3 |
2 | Output: |
3 | |
4 | avrdude: stk500v2_program_enable(): program enable instruction not defined for part "ATxmega128A3" |
5 | avrdude: initialization failed, rc=-1 |
6 | Double check connections and try again, or use -F to override |
7 | this check. |
8 | |
9 | |
10 | avrdude done. Thank you. |
11 | |
12 | avrdude finished |
Eigentlich müsste es hier -p? heissen. Klarer Bug!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.