Forum: Compiler & IDEs Codeblocks und avr-gcc Fehler ATmega32 PORTA


von Marc (Gast)


Lesenswert?

Hallo,
ich versuche mit codeblocks und dem gcc-avr einen ATmega32 zu 
programmieren.
Also, ich erstelle ein ATmega32 Projekt... 16Mhz und so.... alles gut.

Wenn ich also PORTA = 0x00; oder irgend was mit PORTA mache, kommt 
folgende Fehlermeldung:

avr-gcc -Wall -mmcu=atmega32 -DF_CPU=16000000UL -g -mmcu=atmega8 -Os -O 
-I/usr/lib/avr/include/


Wie man sieht, ist da:
.mmcu=atmega8 , welches da ja nichts verloren hat. Wo könnte das denn 
herkommen?
Habe mehrfach ein neues Projekt angelegt, und das alte Verzeichnis 
gelöscht.

Kann das noch irgend wie, irgend wo versteckt sein? Weitere 
"Optionshäkchen"?


Dank schon mal, dreh langsam durch.... ;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Schau mal unter "Settings/Compiler..." und dort unter "GNU AVR GCC
Compiler" in den Tabs "Compiler Flags" und "Other options", was dort
alles gesetzt ist. Da werden nämlich die projektübergreifenden Optionen
eingestellt.

: Bearbeitet durch Moderator
von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Marc schrieb:
> -I/usr/lib/avr/include/

Wenn du schon dabei bist: Die Option gehört auch weg.

Entweder der Compiler funktioniert, ohne dieses Systempfad händisch 
anzugeben, oder die Installation ist zerschossen und will erneut 
installiert werden.

von Marc (Gast)


Lesenswert?

Hallo,
habe ich händisch zugefügt, weil es ja noch eine andere stdlib.h gibt. 
Diese ist aber Standard, und hat keine itoa() Funktion, welche ich aber 
gelegentlich nutze.

von Marc (Gast)


Lesenswert?

Hab ich schon gemacht. Das passt aber. Steht nix von einem ATmega8 drin.
DanKe

von Marc (Gast)


Lesenswert?

OK, ein "apt-get install --reinstall codeblocks" hat zwar sämtliche 
Einstellungen zerlegt, aber es geht wieder alles.... Keine Ahnung, was 
das war.

Der Geist eines vergangenen ATmega8, der noch irgend wo gespukt hat?

Danke noch mal.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Marc schrieb:
> Hallo,
> habe ich händisch zugefügt, weil es ja noch eine andere stdlib.h gibt.
> Diese ist aber Standard, und hat keine itoa() Funktion, welche ich aber
> gelegentlich nutze.

Nein, es gibt nur eine stdlib.h bzw. in den Suchpfaden darf es nur 
eine geben!

Wenn mehrere stdlib.h von avr-gcc gefunden werden (können) dann:

- Ist die Installation kaputt --> wegwerfen und neuinstallieren. Oder:

- Sind irgendwo (Makefile, Code::Blocks;...) Suchpfade eingetragen,
  die da nicht hingehören --> Suchpfade korrigieren, denn mehr ist
  nicht unbedingt mehr. Oder

- Jemand hat die avr-Tools erstellt, der davon keine Ahnung hat.
  --> Wechsle den Distributor.

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
Noch kein Account? Hier anmelden.