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").
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
;)
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... ;(