PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was macht ein makefile ???



popi
06.12.2005, 21:27
Hallo zusammen,

ich wollte mal mit Atmel und C meine ersten Versuche machen.
Nun habe ich gelesen, das man ein sogenannte "makefile" erstellen soll!

Nun die Verständnisfragen:
1. Wie kann man den mit AVR-Studio ein "makefile" erstellen (wenn möglich bitte keine andere Alternative anbieten, damit ich bei einer Software bleibe)

2. Ich habe ebenfalls gelesen, das man nach Erstellen des makefiles dieses zum Controller geschickt werden soll!? Ist das nicht wie beim klassischen C? Man erstellt den Code, indem oben bestimmte #includes stehen uns sonstiges und in der gleichen Datei der Code (also main() etc.)?
Muss bei einem Controller das makefile extra und die Programme ebenfalls extra erstellt werden. Wenn ja, wo wird den so ein einzelnes makefile im Controller abgelegt, wenn nein, hat sich das erledigt ;o)

3. (ist eher eine Bitte) Hat jemand vielleicht schon mal mit PWA und einem Mega64 eine LED auf- und abschwellen lassen? Wenn ja schickt mir bitte diese Zeilen incl. makefile etc. damit ich dadurch einen Einstieg in die Progarmmierwelt bekomme und aus so einem Code und dessen Aufbau lernen kann und ggf. ihn erweitern bzw. für weitere Versuche abändern kann.

Das wars schon ;o)

Es wäre nett, wenn mir jemand damit helfen könnte.

Übrigens benutze ich AVR-Studio und den integrierten AVR-GCC Compiler zusammen mit einem Programmer, der über AVR-Prog den Mega64 beschreibt.

Danke schon mal im Voraus und liebe Grüße

popi

izaseba
06.12.2005, 21:57
Hallo,
Schau mal hier (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Exkurs:_makefiles). Makefile für avr-gcc

Hier (http://wwwuser.gwdg.de/~kboehm/ebook/26_kap20_w6.html#872486) Allgemein zu make und Makefile in C.

Gruß Sebastian

askazo
07.12.2005, 07:50
Das makefile ist eine Art Anleitung für den Compiler bzw. den Linker, wie er den Code erzeugen soll. Im makefile ist definiert, welcher Prozessor benutzt wird, welche Quelldateien zum Projekt gehören, ob externer Speicher genutzt wird und andere Sachen, die für den Compiler wichtig sind.

Im aktuellen AVR-Studio kann man sich das manuelle erstellen des makefiles netterweise sparen, das ist im Studio integriert.

Wenn Du im Studio ein Projekt geöffnet hast, klicke mal im gcc-Fenster mit der rechten Maustaste auf das Projekt und wähle "Edit Configuration Options". Dort hast Du alle Einstellungen, die sonst im Makefile vorgenommen werden.

askazo

bluebrother
07.12.2005, 09:39
2. Ich habe ebenfalls gelesen, das man nach Erstellen des makefiles dieses zum Controller geschickt werden soll!? Ist das nicht wie beim klassischen C? Man erstellt den Code, indem oben bestimmte #includes stehen uns sonstiges und in der gleichen Datei der Code (also main() etc.)?
Muss bei einem Controller das makefile extra und die Programme ebenfalls extra erstellt werden. Wenn ja, wo wird den so ein einzelnes makefile im Controller abgelegt, wenn nein, hat sich das erledigt ;o)

wo hast du denn den Unsinn gelesen? Das Makefile wird von make ausgewertet. Der Controller hat da nix mit zu tun. Make ist da relativ "generisch" (ich hab mit Makefiles z.b. auch schon LaTeX erzeugt)

Deinen Code schreibst du wie bisher. Make und gcc haben nur soviel miteinander zu tun dass sie zusammen verwendet werden, sind aber 2 völlig verschiedene Stiefel.