mikrocontroller.net

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


Autor: Xadas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.