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


von Andreas K. (scavanger)


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...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

1
$ avr-nm /usr/local/avr/lib/avr4/libc.a | fgrep __eewr_byte_m8
2
00000000 T __eewr_byte_m8
3
         U __eewr_byte_m8
4
00000000 T __eewr_byte_m88
5
         U __eewr_byte_m88
6
00000000 T __eewr_byte_m88a
7
         U __eewr_byte_m88a
8
00000000 T __eewr_byte_m88p
9
         U __eewr_byte_m88p
10
00000000 T __eewr_byte_m88pa
11
         U __eewr_byte_m88pa
12
00000000 T __eewr_byte_m8515
13
         U __eewr_byte_m8515
14
00000000 T __eewr_byte_m8535
15
         U __eewr_byte_m8535
16
00000000 T __eewr_byte_m8hva
17
         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.

von Andreas K. (scavanger)


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.

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.