Hallo Zusammen, ich probiere seit 3 Tagen Eclipse Juno mit dem AVR-Plugin zum Laufen zu bekommen... und hoffe hier auf Hilfe. Mein System: aktuelles OpenSuse 12.2 Sun Java 1.7 java version "1.7.0_07" avr-libc 1.71-2.13 avrdude 5.11-4.4 cross-avr-binutils 2.22-17.2.2 cross-avr-gcc 4.3.3_20100125-29.4 Eclipse C++ Juno mit avr-eclipse-plugin von http://avr-eclipse.sourceforge.net/updatesite Pfade: AVR-GCC /usr/bin GNU make /usr/bin AVR Header Files /opt/cross/avr/avr/include AVRDude /usr/bin Das komische ist jetzt, das es mir nicht möglich ist eine Target CPU unter Project Properties -> AVR -> Target CPU auszuwählen! MCU Type ist grau und LOAD from MCU schlägt fehl, der verbundene Prozessor ein Mega32 ist... Launching /usr/bin/avrdude -cdragon_isp -Pusb -pm16 Output: avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.15s avrdude: Device signature = 0x1e9502 avrdude: Expected signature for ATMEGA16 is 1E 94 03 Double check chip, or use -F to override this check. avrdude done. Thank you. avrdude finished Das zweite komische ist, das unter dem Reiter AVR Supported MCUs in der Spalte avr-gcc 4.3.3 ALLE MCUs eine rotes kreuz haben!?! Habe aus Verzweiflung schon Eclipse Indigo mit gleichem Ergebnis installiert. Ein Build schlägt fehl mit: 12:43:34 **** Incremental Build of configuration Release for project t3 ****make all Building file: ../main.cpp Invoking: AVR C++ Compiler avr-g++ -Wall -Os -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -fno-exceptions -mmcu=atmega16 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.cpp" as: unrecognized option '-mmcu=atmega16' make: *** [main.o] Fehler 1 12:43:34 Build Finished (took 76ms) Bin mit meinem Latein am Ende sieht aus als wenn etwas fehlt....
Hallo, ich kann mich vage erinnern dass ich ein ähnliches Problem hatte nicht weil etwas fehlte sondern weil Teile von 2 AVR-plugins vorhanden waren! Schau mal in die Verzeichnisse "plugins" und "features" ob sich dort Dateien nur einer Plugin-Version befinden oder nicht (Versionsbezeichnung im Dateinamen z.B. "de.innot.avreclipse.ui_2.4.0.201203041437.jar").
plugins: org.eclipse.platform_4.2.0_826915728/plugins/de.innot.avreclipse.core.ma nagedbuildsystem_2.4.0.201203041437.jar org.eclipse.platform_4.2.0_826915728/plugins/de.innot.avreclipse.core_2. 4.0.201203041437.jar /org.eclipse.platform_4.2.0_826915728/plugins/de.innot.avreclipse.doc_2. 4.0.201203041437.jar /org.eclipse.platform_4.2.0_826915728/plugins/de.innot.avreclipse.root_2 .4.0.201203041437.jar /org.eclipse.platform_4.2.0_826915728/plugins/de.innot.avreclipse.ui_2.4 .0.201203041437.jar features: /org.eclipse.platform_4.2.0_826915728/features/de.innot.avreclipse_2.4.0 .201203041437 Sieht für mich ok aus, oder?
Hab jetzt noch etwas herausgefunden... Juno und Indigo ändern scheinbar die Konfiguration trotz fehlender Auswahlliste, wenn unter Project -> Properties -> Target Hardware -> Load from MCU geklickt wird und anschließend Apply. Die Konfiguration wird dann auf den richtigen atmega32 gesetzt! AVRDude geht dann wohl... Beim Builden kommt dann jedoch trotzdem: make all Building file: ../main.cpp Invoking: AVR C++ Compiler avr-g++ -Wall -Os -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -fno-exceptions -mmcu=atmega32 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.cpp" as: unrecognized option '-mmcu=atmega32' (!!!!!!!!!!!!!!!) make: *** [main.o] Fehler 1 13:45:51 Build Finished (took 122ms) Habe gerade noch diesen Thread gefunden!!! Beitrag "Falscher Assembler aufgerufen?" Ist das das gleiche Problem? Verstehe nur die Lösung nicht... was muss ich aus dem *.deb Paket wohin schieben???? Wenn ich nach diesem Thread meinen Build mit -v im Projekt-Verzeichnis starte kommt das hier: avr-g++ -v -Wall -Os -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -fno-exceptions -mmcu=atmega32 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "main.cpp" Using built-in specs. Target: avr Configured with: ../gcc-4.3.3/configure -v --target=avr --disable-nls --mandir=/opt/cross/avr/share/man --infodir=/opt/cross/avr/share/info --prefix=/opt/cross/avr --with-gnu-ld --with-gnu-as --enable-languages=c,c++ --disable-libssp --with-dwarf2 Thread model: single gcc version 4.3.3 (GCC) COLLECT_GCC_OPTIONS='-v' '-Wall' '-Os' '-fpack-struct' '-fshort-enums' '-funsigned-char' '-funsigned-bitfields' '-fno-exceptions' '-mmcu=atmega32' '-DF_CPU=1000000UL' '-MMD' '-MP' '-MFmain.d' '-MTmain.d' '-c' '-o' 'main.o' /opt/cross/avr/libexec/gcc/avr/4.3.3/cc1plus -quiet -v -imultilib avr5 -MMD main.d -MFmain.d -MP -MTmain.d -MQ main.o -DF_CPU=1000000UL main.cpp -quiet -dumpbase main.cpp -mmcu=atmega32 -auxbase-strip main.o -Os -Wall -version -fpack-struct -fshort-enums -funsigned-char -funsigned-bitfields -fno-exceptions -fno-rtti -fno-enforce-eh-specs -fno-exceptions -o /tmp/ccpRJ6CN.s ignoring nonexistent directory "/opt/cross/avr/lib/gcc/avr/4.3.3/../../../../avr/include/c++/4.3.3" ignoring nonexistent directory "/opt/cross/avr/lib/gcc/avr/4.3.3/../../../../avr/include/c++/4.3.3/avr/ avr5" ignoring nonexistent directory "/opt/cross/avr/lib/gcc/avr/4.3.3/../../../../avr/include/c++/4.3.3/back ward" ignoring nonexistent directory "/opt/cross/avr/lib/gcc/avr/4.3.3/../../../../avr/sys-include" #include "..." search starts here: #include <...> search starts here: /opt/cross/avr/lib/gcc/avr/4.3.3/include /opt/cross/avr/lib/gcc/avr/4.3.3/include-fixed /opt/cross/avr/lib/gcc/avr/4.3.3/../../../../avr/include End of search list. GNU C++ (GCC) version 4.3.3 (avr) compiled by GNU C version 4.7.1 20120723 [gcc-4_7-branch revision 189773], GMP version 5.0.5, MPFR version 3.1.0-p1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 114bbfb8d7ec59632db17f36d836c52c COLLECT_GCC_OPTIONS='-v' '-Wall' '-Os' '-fpack-struct' '-fshort-enums' '-funsigned-char' '-funsigned-bitfields' '-fno-exceptions' '-mmcu=atmega32' '-DF_CPU=1000000UL' '-MMD' '-MP' '-MFmain.d' '-MTmain.d' '-c' '-o' 'main.o' as -v -mmcu=atmega32 -o main.o /tmp/ccpRJ6CN.s GNU assembler version 2.22 (x86_64-suse-linux) using BFD version (GNU Binutils; openSUSE 12.2) 2.22 as: unrecognized option '-mmcu=atmega32'
So habe jetzt nach diesem Link: Beitrag "Falscher Assembler aufgerufen?" als root ar p avr-gcc-4.5.1-avrfreaks-2011-dec-29-u10.04.x64.deb data.tar.gz | tar xzC / ausgeführt. Aber irgendwie habe ich weder die MCU Auswahlliste noch hat sich an as: unrecognized option '-mmcu=atmega32' etwas verändert. Was mache ich falsch?
Ein Mysterium ist geklärt! Der aufgerufenen Assembler unter openSUSE 12.2 in /usr/bin/as --version meldet: GNU assembler (GNU Binutils; openSUSE 12.2) 2.22 Copyright 2011 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `x86_64-suse-linux'. (<-- Das kann dann wohl auch nichts werden!!!!!) Also as getauscht und jetzt wird auch compiliert ;))) Folgende Probleme bleiben: 1.) Keine Target MCU Auswahl! 2.) Im Reiter "AVR Supported MCUs" unter avr-gcc (4.3.3 als auch 4.5.1) sind angeblich KEINE einzige MCU supported! 3.) Manchmal kommt eine Java Fehlermeldung die MCU Liste betreffend: --> An internal error occurred during: "AVR MCU List". java.lang.NullPointerException Wäre schön, wenn dafür noch jemand eine Erklärung hätte....
ich arbeite mit dem AVR Eclipse Plugin 2.3.4.20100807PRD. Ich hatte vor ein paar Wochen mal ein Update auf die 2.4.0 gemacht, da war glaube ich ein ähnliches Problem das keine MCU vorhanden war und ich meine auch irgendwo einen Hinweis auf den Fehler gelesen zu haben. Bin wieder zurück auf die 2.3.4.... Christian
Also habe jetzt noch einmal ~/.eclipse gelöscht und erst Indigo und dann Juno installiert. Anschließend dann über ADD das Paket avreclipse-p2-repository-2.3.4.20120807PRD.zip installiert. Weder bei Juno noch bei Indigo habe ich im Anschluss eine MCU Auswahl. Stattdessen funktionieren dann der AVR Device Explorer nicht mehr. Und unter "AVR Supported MCUs" haben immernoch alle ein rotes Kreuz! Für weitere Anregungen sehr dankbar....
Also jetzt gehts ;))) Das OpenSuse Paket für den AVR ist wohl echt Mist... Nach dem ich noch einmal alle Pfade auf /usr/local/avr/ umgebogen habe, wo die 4.5.1 Toolchain (http://www.wrightflyer.co.uk/avr-gcc/) liegt musste ich noch diverse libs umlinken!!! sudo ln -sfv /usr/lib64/libbfd-2.22.so /usr/lib64/libbfd-2.20.1-system.20100303.so sudo ln -sfv /usr/lib64/libmpfr.so.4 /usr/lib64/libmpfr.so.1 sudo ln -sfv /usr/lib64/libgmp.so.10.0.5 /usr/lib64/libgmp.so.3 Und siehe da jetzt geht es - war ganz einfach 8)... und hat kaum 4 Tage gedauert... vielleicht hilfts noch jemanden, der ähnliche Problem hat/kriegt. Isch habe fertisch!
Hi, das Problem mit den fehlenden MCUs liegt an einer Änderung des avr-gcc. Das AVR Eclipse Plugin benutzt den Befehl "avr-gcc --target-help" um die Liste der Unterstützten MCUs zu bekommen. Bei neueren* avr-gcc Versionen enthält der Output aber nicht mehr diese Liste. Statt dessen muss jetzt "avr-gcc --target-help -mlist-devices" genutzt werden, was aber im Plugin noch nicht umgesetzt ist. * "neueren" ist hier etwas relativ, es scheint weniger von der GCC Version abzuhängen als vielmehr davon von wem die Version stammt. Möglicherweise ist das unterschiedliche Verhalten von avr-gcc von irgendwelchen Patches oder Kompilier-Optionen abhängig. Eigentlich wäre es nur eine kleine Änderung des Plugins, aber ich habe im Moment weder Zeit noch so richtig Lust an dem Plugin zu arbeiten. Aber dafür ist es ja Open Source :-) Wer will kann sich gerne an der Fehlerbehebung versuchen. Patches nehme ich gerne entgegen. Thomas P.S. Abgesehen von den fehlenden MCUs hat das Plugin unter Juno funktioniert? Bei mir geht es nicht sondern erzeugt beim Aufruf der Properties nur "NullPointerExceptions".
Hi Thomas, nein, jetzt ist wirklich alles schick ;) OS 12.2 x64 und Juno C++ mit Plugin 2.4.0 (siehe oben) Unter OpenSuse ist halt nur wichtig, die 4.5.1 Toolchain zu benutzen und Pfade und Libs anzupassen (wie oben beschrieben)... Ach ja und den falschen Assembler auszutauschen der nur ("This assembler was configured for a target of `x86_64-suse-linux'!") x86_64 output erzeugt und demnach auch keine avr mcu option kennt ;)) MCUs werden jetzt auch wirklich angezeigt! Sowohl in der "AVR Supported MCU" Liste (keine roten Kreuze mehr) als auch bei der Target MCU Auswahl unter AVRDude. Auslesen der MCU ging wohlgemerkt immer - auch mit der alten avr-gcc 4.3.3. Nur leider wurde dann keine MCU angezeigt. ABER: Ein beherztes "Apply" übernahm den trotzdem richtig erkannten Prozessor... demnach ging auch das builden. Das jetzt auch die kosmetische Seite funktioniert freut mich natürlich sehr... Diese "NullPointerExceptions" habe ich danach nur noch (bis jetzt!) ein einziges Mal gesehen. Dann betrafen sie aber auch gleich den Device Explorer und die MCU List. Danke für das tolle Plugin - nimmt einem wirklich eine Menge Arbeit ab ;)
Ich liebe diese Linux-Threads, die mit "... probiere seit 3 Tagen ...".
Deshalb hast Du auch so viel Zeit, um derartig wichtige Kommentare zu schreiben ;)
Hallo zusammen, gibt es schon irgendetwas neues bzgl. eine möglichen Updates bzw. eines Patches? Ich habe neulich auf den neusten AVR GCC (4.6.2 aus der AVR Toolchain) gewechselt und habe logischerweise genau das gleiche mit der Controllerauswahl, was nicht weiter tragisch wäre, da das Auslesen des Controllers ja funktioniert. Allerdings hatte ich unter Eclipse Indigo immer schon mal das Problem, das die Symbolik z.B. DDRB etc. nicht erkannt wird und somit als Fehler dargestellt wird (alles rot unterstrichen), das eigentliche compilieren funktioniert zwar, aber der ganze Code ist im Prinzip rot unterstrichen. Dies konnte man mit dem alten GCC ganz einfach umgehen, indem man kurz einen anderen Controller auswählt, apply drückt und dann wieder den gewünschten auswählt. Da dies wegen der Controllerauswahl aber nicht mehr funktioniert ist das Plugin mit dem aktuellen GCC leider nicht mehr zu gebrauchen... Vielen Dank
Hallo, wir verwenden Eclipse Juno + 2.4 Avr Eclipse Plugin mit der Atmel AVR Toolchain 3.4.1. Dazu haben wir zunächst avr-gcc --target-help -mlist-devices die List der devices kopiert. Damit die Mcus erkannt werden, haben wir den avr-gcc in avr-gcc-old umbenannt und an dessen Stelle das angehänge bash script eingefügt. Dann noch die Pfade in eclipse gesetzt (mit "killall find" kann man die endlose automatische suche abbrechen). Ist nicht schön, aber es funktioniert.
Gibt es dafür vielleicht auch eine Windows Lösung? Ich wollte auch endlich mal von dem 4.3.3 AVR-GCC weg und hatte die neuste Toolchain runtergeladen, bin aber natürlich auch auf das Problem mit den nicht angezeigten MCUs gestoßen und hab es bis jetzt nicht hinbekommen das Problem zu lösen... ;(
Vielen Dank für den Beitrag! Hat bei mir unter MACOSX super funktioniert auch mit eclipse kepler! MFG p
Mit dem Kommando 'avr-as -mlist-devices' bekommt man die MCU Liste Bekannte MCU-Namen: avr1 avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avr7 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny at90s1200 ... Ubuntu 14.10 avr-as 2.24 avr-gcc 4.8.1
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.