Forum: Mikrocontroller und Digitale Elektronik AVR- Studio 4 C-Datein einbinden


von MR_Will (Gast)


Angehängte Dateien:

Lesenswert?

grüß euch
ich möchte zu meinem projekt ein weiters c-file einbinden.
dazu habe ich es unter source files hinzugefügt. danach unter use 
external makefile das makefile im ordner "default" des projektes 
eingebunden. (siehe Anhang).
funnk nicht...
kann mir da wer helfen??

lg
willi

von Andreas H. (anderlh)


Lesenswert?

Warum nutzt du ein externes makefile? Das Studio erzeugt dir eines. 
Unter "Configuration Options" kannst Du alles einstellen was rein soll. 
Alle c-Files unter Source Files werden berücksichtigt.
LG Andi

von Bernd (Gast)


Lesenswert?

MR_Will schrieb:
> funnk nicht...
ah ja

> kann mir da wer helfen??
keiner

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Willi, geh dem Hinweis von Andreas nach. In AVR Studio ist es wesentlich 
bequemer mit dessen Projektverwaltung und interner Makestruktur zu 
arbeiten statt mit externem Makefile.

Wenn du trotzdem mit externem Makefile arbeiten musst: Die Dateien in 
AVR Studio unter Source Files sind dem externen Makefile volkommen egal. 
Nur was im Makefile angegeben ist zählt.

Bei der Ergänzung des (seltsamen) Makefile kannst du dir ein Beispiel an 
der Source uart.c nehmen. Dazu sind Ergänzungen nötig:
1
## Objects that must be built in order to link
2
OBJECTS = hoello_V_0_1.o uart.o

Hier wird definiert, dass eine Objektdatei uart.o erstellt werden muss.
1
uart.o: ../../../Module/Uart/uart.c
2
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

Hier wird definiert wovon die Objektdatei abhängig ist (uart.c) und wie 
die Objektdatei uart.o erstellt werden kann.

Die Besonderheit ist, dass die Source nicht im aktuellen Verzeichnis 
liegt. Daher auch die dritte Ergänzung, damit sowas wie #include 
"uart.h" innerhalb uart.c oder main.c funktioniert:
1
## Include Directories
2
INCLUDES = -I"D:\programmieren\Hoelli\V_0_1\..\..\Module\Uart"

Hier wird der Suchpfad für die uart-spezifischen Includedateien ergänzt.

Angenommen du hast zusätzlich eine Source angie.c, dann sieht das so im 
Makefile aus:
1
## Objects that must be built in order to link
2
OBJECTS = hoello_V_0_1.o uart.o angie.o
3
4
angie.o: angie.c
5
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

Wichtig: Bei der Bearbeitung des Makefiles im Editor müssen Tabulatoren 
erhalten bleiben. Die leiten die Zeilen mit den Makekommandos ein, z.B.
1
  $(CC) $(INCLUDES) $(CFLAGS) -c  $<

Zu dem "seltsamen" Makefile: Üblich sind eher Makefiles nach dem 
Beispiel Makefile

von MR_Will (Gast)


Lesenswert?

kk vielen dank!!
haut schon hin ;)

lg
willi

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.