mikrocontroller.net

Forum: Compiler & IDEs eeprom.h - undefined reference?


Autor: Andreas Kanzler (scavanger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche gerade bei meinen Mega8 etwas in den das EEPROM zu 
schreiben, wenn ich aber versuche eine Funktion aus der eeprom.h 
aufzurufen erhalte ich immer eine Linker Fehlermeldung zu einer 
"undefinierten Referenz".

Z.b. bei der  eeprom_write_byte(...): "undefined reference to 
'__eewr_byte_m8".
Für alle anderen Funktionen aus der eeprom.h gilt das analog.

Ich verwende WIN-AVR 20100110 zusammen mit Code::Blocks.

Irgendwelche Ideen?

Danke schonmal...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
$ avr-nm /usr/local/avr/lib/avr4/libc.a | fgrep __eewr_byte_m8
00000000 T __eewr_byte_m8
         U __eewr_byte_m8
00000000 T __eewr_byte_m88
         U __eewr_byte_m88
00000000 T __eewr_byte_m88a
         U __eewr_byte_m88a
00000000 T __eewr_byte_m88p
         U __eewr_byte_m88p
00000000 T __eewr_byte_m88pa
         U __eewr_byte_m88pa
00000000 T __eewr_byte_m8515
         U __eewr_byte_m8515
00000000 T __eewr_byte_m8535
         U __eewr_byte_m8535
00000000 T __eewr_byte_m8hva
         U __eewr_byte_m8hva

Ist also da.  Sieht so aus, als würde deine Bibliothek nicht zur
Headerdatei passen; in früheren Versionen der avr-libc wurden diese
Funktionen allesamt inline realisiert, d. h. die entsprechenden
Bibliotheken besitzen dafür keine Implementierung.

Autor: Andreas Kanzler (scavanger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke erstmal, das Problem konnte zumindest umgehen. Ich habe WIN-AVR 
auf meiner anderen Pc (mit Win 7) installiert und statt Code::Blocks das 
AVR-Studio: Hier kann ich einwandfrei compilieren.

Auf dem alten Laptop klappt es trotz Neuinstallation von Win-AVR und der 
aktuellen Nighthly von Code::Blocks nicht. Vielleichts liegt auch an der 
alten Hardware und Windows 2000.. ;)

Jetzt hab ich wenigstens endlich nen Grund vom dem Parallelport 
Programmer wegzukommen und einen ordentlichen USB-Progammer zu kaufen. 
:)

Trotzdem Danke.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.