Gast
#4361581
Hallo zusammen, ich habe nach langem mal wieder vor etwas zu programmieren und habe mich jetzt 2 Abende mit OpenSuse 13.2, der aktuellen avr-gcc 4.8.3 und eclipse Mars (und dem aktuellen plugin 2.4.x hier aus dem Thread) rumgeschlagen. Die MCU Auswahl und alles funktioniert soweit, aber ich bekomme keines meiner alten Programme und auch kein "Hello World" zum laufen (ATMega 16). Irgendwie komme ich nicht zum Ziel und weiss auch nicht mehr weiter. Selbst das folgende Testprogramm
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
Schmeisst mir folgende Fehlermeldung: 19:46:10 **** Incremental Build of configuration Release for project Test **** make all Building file: ../main.c Invoking: AVR Compiler avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c" as: Unbekannte Option »-mmcu=avr5« subdir.mk:18: recipe for target 'main.o' failed make: *** [main.o] Error 1 19:46:10 Build Finished (took 150ms) In den Fehlern kommt noch: make:*** main.o Error 1 und recipe for target main.o faile, aber keinerlei Warnungen. Die Pfade stehen auf den für OpenSuse üblichen opt/cross Verzeichnissen, und im AVR Projekt sind unter C/C++ General|Paht&Symbols für GNUC/GNUC++ und ASM die Links ebenfalls auf die opt/cross/avr gesetzt und External Builder | make eingetragen, unter C/C++Build|Settings|Assembler "avr-gcc" Ich habe ja verstanden (aus nem alten Thread hier), dass der Assembler irgendwie falsch konfiguriert ist (--> Standard Assembler), ich weiss aber nicht wo ich das beheben soll. Die automatisch erzeugten MakeFiles habe ich auch mal nach Einträgen CC= durchforstet, bin aber nicht fündig geworden wo ich da was auf avr-gcc umbiegen könnte. Wenn ich das ganze von der Kommandozeile aus, von folgendem Beispiel abegeleitet (http://rn-wissen.de/wiki/index.php/Hallo_Welt_f%C3%BCr_AVR_%28LED_blinken%29) mache, passiert folgendes: xxxx@linux-b91i:~/workspace/Test> avr-gcc main.c -o main.o -Os -g -mmcu=atmega16 /usr/bin/avr-ld: warning: -z relro ignored. xxxx@linux-b91i:~/workspace/Test> soweit OK aber das linken führt dann auch schon ins Nirwana? hufnala@linux-b91i:~/workspace/Test> avr-gcc main.o -o main.elf -mmcu=atmega16 /usr/bin/avr-ld: warning: -z relro ignored. main.o: In function `__vector_1': (.text+0x68): multiple definition of `__bad_interrupt' /opt/cross/avr/lib/gcc/avr/4.8.3/../../../../avr/lib/avr5/crtm16.o:(.tex t+0x0): first defined here main.o: In function `__vectors': (.text+0x0): multiple definition of `__vectors' /opt/cross/avr/lib/gcc/avr/4.8.3/../../../../avr/lib/avr5/crtm16.o:(.vec tors+0x0): first defined here collect2: error: ld returned 1 exit status Irgendwas ist faul, ich habe aber auch nichts gefunden wie ich den Assembler umbiegen kann. Die ganzen anderen Probleme (Programmer / MCU Auswählen usw.) habe ich auch nicht. Ich hab das ganze auch mit ner alten Luna eclipse probiert die definitiv lief, das geht auch nicht mehr. Die Toolchain und eclipse hatte ich zwischendurch auch schon wieder runter und neu installiert ohne Erfolg. Hat irgendjemand noch eine Idee??? Wäre echt super wenn ich das zum laufen bekommen würde. Vielen Dank, Ciao hufnala