Forum: Mikrocontroller und Digitale Elektronik C-Neuling nervt mal wieder


von Benni N. (benninori)


Lesenswert?

hi,

ich muss euch nochmal kurz belästigen :-)

Ich bin immer noch an meiner CAN-Schnittstelle und spiele nun mit einem 
Beispiel von IAR. Hab da jetzt den entsprechenden Teil in mein Projekt 
eingefügt und angepasst. Jetzt war ich der Meinung ich hätte alles 
zurecht gebastelt da meckert der Linker bei einigen Funktionen:

Error[Li005]: no definition for "CAN_DeInit" [referenced from 
C:\Users\DE5NORBE\Desktop\2.1\Debug\Obj\system_stm32f105.o]


Damit kann ich leider nicht viel anfangen. Weiß ja noch nicht mal genau 
für was diese *.o überhaupt da ist.


Kann mir da jemand auf die sprünge helfen, oder ist das ohne weitere 
Fakten nicht so einfach?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist eine Fehlermeldung des Linkers, der versucht, das von einem 
Modul system_stm32f105 verwendete Symbol CAN_DeInit (hier vermutlich 
eine Funktion) Funktion aufzulösen.

Das bedeutet, daß Du diese Funktion CAN_DeInit zwar aufrufst, aber nicht 
das Sourcefile zu Deinem Projekt hinzugefügt hast, in dem diese Funktion 
drinsteht.

von Karl H. (kbuchegg)


Lesenswert?

Letzten Endes teilt dir der Linker mit, dass irgendwo, in einer Funktion 
in system_stm32f105.o eine Funktion namens "CAN_DeInit" aufgerufen wird 
und er in dem ihm zur Verfügung stehenden Object-File bzw. Libraries 
keine derartige Funktion finden konnte.

Da in deinen Funktionsnamen der Begriff "system" auftaucht, denke ich 
mal, dass das Problem darin besteht, dass du vergessen hast irgendeine 
Library anzugeben, in der diese Funktion steckt.

Es könnte auch sein, dass sich der ursprüngliche Entwickler gedacht hat, 
dass es nett wäre, wenn der Applikationsprogrammierer eine Funktion mit 
diesem Namen schreiben kann, die dann (geraten) am Ende des Programms 
aufgerufen wird und in der der Applikationsprogrammierer 'aufräumen' 
kann.

-> Doku lesen, Beispiele studieren

von Benni N. (benninori)


Lesenswert?

Oh - das stimmt, vielen Dank für eure Hilfe.
Die Funktionen sind tatsächlich nur initialisiert aber nicht wirklich 
vorhanden.
Da hätte ich ja auch mal drauf kommen können. Danke nochmal.

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.