PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Compile probleme



Frek07
24.05.2011, 15:39
hallo zusammen,
-ich kann irgendwie nichts compilen für meinen RP6 (benutze Programmers notepad)
wenn ich was compilen will weis ich nicht welche MAKEFILL ich nehemen soll wenn da keine
bei ist.:(
?FRAGE: gibt es ne makefill für alles?

-wenn ich mal ne makefill gefunden habe oder die von Notepad nehme kommt immer die
meldung das er ne .elf datei gebraucht
?FRAGE:was ist das und wo gibt es die?

danke im Vorraus für die Antworten und bei google habe ich nichts gefunden.
bei www.gidf.de auch nichts
mfg FREK07

RolfD
24.05.2011, 16:31
hallo zusammen,
-ich kann irgendwie nichts compilen für meinen RP6 (benutze Programmers notepad)
wenn ich was compilen will weis ich nicht welche MAKEFILL ich nehemen soll wenn da keine
bei ist.:(
?FRAGE: gibt es ne makefill für alles?


Nein. Jedes Projekt braucht sein eigenes .. schon weil du ein Taget und Referenzen eintragen musst...
Du kannst aber mit AVR Studio arbeiten, welches Dir z.B. halbautomatisch ein makefile erstellt. Allerdings ist auch das nicht trivial.



-wenn ich mal ne makefill gefunden habe oder die von Notepad nehme kommt immer die
meldung das er ne .elf datei gebraucht
?FRAGE:was ist das und wo gibt es die?

Die Elf Datei erstellst Du als Ergebnis des Compilerlaufs. und hat mit dem besagten Target zu tun...



danke im Vorraus für die Antworten und bei google habe ich nichts gefunden.
bei www.gidf.de (http://www.gidf.de) auch nichts
mfg FREK07

Das glaube ich Dir jetzt nicht...
Mit "makefile" finden sich 9,6 Mio Einträge und mit "makefile rp6" immer noch 3060 Einträge in Google...
Du wirst nicht drum herum kommen, dich mit make zu beschäftigen.. also such dir ein tutorial wie
http://www.mikrocontroller.net/articles/Beispiel_Makefile
oder schau in
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
nach...
http://www.asurowiki.de/pmwiki/pmwiki.php/Main/MakefileHowto
da geht auch...
http://www.rn-wissen.de/index.php/Avr-gcc_und_avrdude_installieren
da kannste auch gucken...
http://www.ijon.de/comp/tutorials/makefile.html
oder
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Exkurs_Makefiles
und vor allem da wo man es zuerst erwaretet...
wie die Programmdoku auf: http://www.gnu.org/software/make/manual/make.html
oder
die Besipiele & Docu zum RP6
oder
...
...
...
...

Frek07
24.05.2011, 16:40
danke für die schnelle Antwort
und ich habe bei google nach "RP6 compiler problem mit makefill elf" gesucht.....
was ist ein Target und was für Referenzen?

shedepe
24.05.2011, 16:45
Dazu solltest du dir noch mal die RP6 Anleitung bzw. einen der oben genannten Links anschauen. Dort ist auch das erläutert.

Frek07
25.05.2011, 13:46
die anleitung habe ich schon sehr of durchgelesen, habe aber davon nichts verstanden(nacher nur noch bahnhof)
worum es mir eigentlich geht ist die .hex datei.
gibt es dafür eine FAST vertige makefile?

shedepe
25.05.2011, 14:29
Nimm halt eins der Makefiles aus den Beispielprogrammen und änder es ab.
Das Hexfile ist das was nach dem Compilieren und Linken entsteht und ist das was auf den Asuro geflasht wird. Und zum compilieren und linken braucht man eben das Makefile.

RolfD
25.05.2011, 14:40
Hallo Frek07 ... nun... was soll man da sagen?
Dieses "Bahnhof" solltest Du dringendst durch Fachwissen ersetzen... denn nur dann kommst du auch zu Ergebnissen.
Es ist schon klar das es um das Hex file geht, schließlich ist das die Datei die man auf den Bot läd.
Die Fehlermeldung mit dem Elf Target... ist auch nur eine Zwischenstation um aus c code hex code zu machen.

Das make File ist die Anweisungskette für den Compiler um dies zu bewerkstelligen und leider funktioniert das nun mal nicht wie ein Lichtschalter. Die RP6 Anleitung ist detailiert genug und wenn man sie Schritt für Schritt nachvollzieht und versucht zu verstehen was da passiert - lernt man auch damit umzugehen. Schau dir dazu vor allem die Beispiele aus der RP6 Software an, darin sind FERTIGE Makefiles enthalten... passend zum jeweiligen Projekt. Da macht es z.B. mal Sinn, sich die Unterschiede von 2 Projekten und deren make Files anzuschauen.

Wenn du selbst kein Zugang dazu findest, kann ich dir nur dringend empfehlen, mal den Techniklehrer in der Schule anzusprechen und/oder mit dem Handbuch als Vorlage das mit jemandem durchzugehen, der etwas mehr Erfahrung / Systematik hat. Ich fürchte, dir fehlt weit mehr Wissen als man es durch Foreneinträge auffüllen könnte. Daher mein wirklich gut gemeinten Tip, such Dir jemand mit dem du zumindest das Handbuch zusammen erarbeiten kannst.

Ansonsten wird es eher Erfolg bringen wenn du ein vorhandenes Projekt aus den Beispielen veränderst als das du ein neues Projekt erstellst. Dann hast Du zumindest incl. Erfolgserlebnissen die Möglichkeit da rein zu wachsen und musst nicht bei 0 anfangen.

SlyD
25.05.2011, 17:02
Also für den RP6 kann man es sich wie schon oben gesagt auch ganz einfach machen:
Das fertige Makefile aus einem existierenden Projekt nehmen.
Die Ordnerstruktur drumherum (wo liegt die Library etc.) muss dann allerdings EXAKT identisch bleiben.


Es ändern sich von Projekt zu Projekt quasi nur zwei drei Einträge ganz oben in der Datei (Projektname und alle Dateinamen die sonst noch eingebunden werden). Da ist auch eine dicke fette Markierung im Makefile - alles da drunter braucht einen als Anfänger wirklich nicht zu kümmern :)
Es schadet natürlich nicht wenn man grob versteht was da gemacht wird aber ist nicht notwendig.


MfG,
SlyD

PS:
@Rolf:

Dieses "Bahnhof" solltest Du dringendst durch Fachwissen ersetzen...Hier posten auch viele jünger als 15 Jahre da kanns schon etwas Zeit brauchen bis man das alles verstanden hat... immer locker :cool:

Aber natürlich - die Anleitung lesen und verstehen muss schon jeder selber
da kommt kein Anfänger drumherum ;)

RolfD
25.05.2011, 18:14
@Rolf:
Hier posten auch viele jünger als 15 Jahre da kanns schon etwas Zeit brauchen bis man das alles verstanden hat... immer locker :cool:

Daher sprach ich oben z.B. den Fachlehrer an... ich bleibe locker.
Ich versuche aber auch klar zu machen was ein Forum leisten kann... und was nicht.
Jedem hier wünsche ich das er erfolgreich sein "persönlichen Super-Marsrover" selbst entwickelt - und darüber berichtet.. oder Fragen dazu stellt. Und ich bin gern bereit darauf einzugehen - z.B. mit Tips und Infos, so fern ich was brauchbares dazu leisten kann. Nicht wissen ist aber keine Entschuldigung für nicht können, denn Wissen muss man sich nun mal aneignen da es Basis für jede Entwicklung ist. Daher kann ich nur Tips geben _wie_ man sich das fehlende Wissen aneignet - so wie ich es mir erhoffe wenn ich mal nen Problem hab. Kam ja auch schon vor... Man lernt aber nun mal am besten durch Erfahrung und fachlich guten Quellen und nicht durch vorsingen von Lösungen oder abschreiben.
Ich möchte es mal bildlich ausdrücken - jeder Hürdenläufer weis das er vor einer Hürde abspringen muss, was Kraft kostet und nur mit Training gelingt. Wenn ich mich nun vor eine Hürde stelle und erwarte, das mich jemand drüber hebt, mach ich ganz offensichtlich was falsch, oder? Was würde mir der Trainer wohl erzählen?
Vielleicht bin ich aber einfach nur zu altmodisch für 15jährige... und ausserdem bin ich grade massiv offtopic.

SlyD
25.05.2011, 18:23
@Rolf:

> ich bleibe locker.

OK der Anfang des postings las sich für mich nicht so - egal passt dann schon :)
Nicht falsch verstehen, ich denke Deine Beiträge sind meist für den
Fragenden sehr hilfreich :)

So jetzt aber Ende mit offtopic.