WinAVR sieht Phantomports

Gast #1802917
Lesenswert?
• ▲
▼
Tach!

Ich versuche ein myAVR- Board mit Atmega8 und myAVR- Display per C zu 
steuern.

Ein fremdes Template habe ich meinen Atmega entsprechend angepasst, d.h. 
die darin angegebenen Ports verändert. So habe ich z.B. das im 
Ursprungscode enthaltene PortE rausgeschmissen und in PortD verwandelt.
Nun möchte ich kompilieren und erhalte die Fehlermeldung

LCD_DRV.C:8: error: 'PORTE' was not declared in this scope

obwohl nirgendwo im gesamten Code der Begriff PORTE vorkommt! Wo kann 
diese Angabe noch stecken?
#1802996
Lesenswert?
• ▲
▼
Hast du das ursprüngliche WinAVR-Projekt übernommen?

Ich würde

* neues WinAVR Projekt im AVR Studio anfangen. Damit ist erst mal
  sicher gestellt, dass
  überall dein Mega8 eingetragen ist und alle sonstigen Dinge auf
  Default sind.

* Dann den Code aus dem anderen Projekt per Cut & Paste übernehmen.
  Zuerst einfach nur das File, in dem die main() drinnen ist.

  Da werden dann andere Files fehlen.
  Die legst du neu an, fügst sie im AVR-Studio zum Projekt hinzu.
  Dann machst du sie im AVR-Studio auf und kopierst den Code aus den
  jeweiligen Originalfiles per Cut&Paste in die neuen um.

  AUf die Art ist sicher gestellt, dass du im Prpjekt genau die Files
  enthalten hast, auf genau den Verzeichnissen und mit genau dem Inhalt
  den du unter Kontrolle hast und den du kennst.


Du kannst natürlich weiter suchen, welches deiner Files in deinem 
Projekt nicht dasjenige von deinem Projektverzeichnis ist. Aber manchmal 
gehts es einfach schneller, wenn man akzeptiert, dass im Projekt 
irgendwas nicht stimmt und man neu anfängt. Mit der vorgeschlagenen 
Vorgehensweise hast du in 10 Minuten das neue Projekt fertig aufgesetzt 
und einen fehlerfrei compilierbaren Code.

PS: Das Vorgehen ist im Grunde unabhängig von der tatsächlichen IDE, wie 
AVR-Studio. Manchmal ist es schneller und in Summe weniger Arbeit, wenn 
man den vermeintlich aufwändigeren Weg wählt.
Gast #1803048
Lesenswert?
• ▲
▼
Guter Tipp, hat geklappt, der Fehler ist behoben! Danke!
Aber irgendwie verhält sich das Programm komisch:

Bereits zweimal hat sich eine eingebundene C-Datei einfach aus dem Staub 
gemacht (war plötzlich auch aus dem Projektordner verschwunden, und 
ausserdem bekomme ich beim Compilieren nun folgende Fehlermeldung, mit 
der ich rein gaa nix anfangen kann:


Linking: main.elf
avr-gcc -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=3686400UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=main.o  -std=gnu99 -MMD -MP -MF 
.dep/main.elf.d main.o LCD_DRV.C lcd_drv.h --output main.elf 
-Wl,-Map=main.map,--cref     -lm
cc1plus.exe: warning: command line option "-Wstrict-prototypes" is valid 
for Ada/C/ObjC but not for C++
cc1plus.exe: warning: command line option "-std=gnu99" is valid for 
C/ObjC but not for C++
d:/avr/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe:main.o: file 
format not recognized; treating as linker script
d:/avr/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/ld.exe:main.o:1: 
syntax error
make.exe: *** [main.elf] Error 1

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.