Forum: Compiler & IDEs can-lib mit AVRStudio4 oder elclipse


von Xadas (Gast)


Lesenswert?

Guten Tag,

ich habe folgendes Problem:
Ich möchte gerne eine einfache Kommunikation zwischen 2 ATMega8 mittels 
CanBus realisieren und dazu die can-lib verwenden. Doch Ich schaffe es 
nicht diese vernünftig in ein Projekt ein WinAvr einzubinden. Immer wenn 
ich es compillieren möchte stürzt das AVRStudio nach folgender Ausgabe 
ab.

avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -DF_CPU=7372800 -00 -fsigned-char 
-Wp, -M,-MP,dep/CanBus_Test.o.d -c ../Canbus_Test.c

avr-gcc -mmcu=atmega8 Canbus_Test.o -L"C:\Dokumente und 
Einstellungen\Patrick\Eigene Dateien\AVR-GCC-Workspace\Canbus_Test" 
-lcan -o Canbus_Test.elf

Ich denke mal das ich die Lib falsch eingebunden habe.

Auszug aus der README der Lib

------------------------------------------------------------------------ 
--

Einbinden ins eigene Programm

Zuerst einmal muss die Bibliothek erstellt werden: Dazu ändert man im 
src/-Ordner die Datei ‘config.h’ für seine Konfiguration ab und stellt 
im Makefile den verwenden AVR-Typ ein.

Dann kann die Bibliothek gebaut werden:

$ make lib

Wer WinAVR verwendet kann auch einfach im Programmers Notepad eine der 
Dateien aus dem src/-Ordner öffnen und dann “Tools > [WinAVR] Make All” 
auswählen.

Jetzt sollte eine Datei ‘libcan.a’ entstanden sein. Zusammen mit ‘can.h’ 
und ‘config.h’ können diese Dateien jetzt in das eigene 
Projektverzeichnis kopiert werden.

Um die Funktionen wirklich nutzten zu können muss nur noch den Linker 
mitgeteilt werden, dass er die Bibliothek einbinden soll. Bei dem 
Standard-WinAVR-Makefile muss dazu die folgende Zeile hinzugefügt werden 
(um Zeile 266ff):

...
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)

LDFLAGS += -L. -lcan        # hinzufügen

Der Linker sucht dann automatisch im aktuellen Verzeichnis nach der 
Datei libcan.a und fügt die benötigten Funktionen (und nur die) in den 
Quellcode ein.

------------------------------------------------------------------------ 
--

Ich habe die Lib mit dem programmers Notepad erstellt und die Datei 
libcan.a in den Einstellungen des Projektes hinzugefügt. Die can.h und 
config.h wurden auch wie in der README beschireben eingefügt.

Doch wo muss das $ make lib stehen ?
Wie füge ich im AVRStudio die Zeilen aus der README dem makefile meines 
Projektes zu ?
Alternativ würde ich mich auch über eine Anleitung zum Einbinden der LIb 
in Eclipse freuen.

Vielen Dank im Vorraus
   Xadas

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.