Ist es möglich mit dem GCC einen Assemblertext (ohne C-Quellen) zu übersetzen und zu linken? Wenn ja, wo finde ich dazu Informationen?
> Ist es möglich mit dem GCC einen Assemblertext (ohne C-Quellen) zu > übersetzen und zu linken? Ja. > Wenn ja, wo finde ich dazu Informationen? Im Handbuch von GCC.
Falls es kein AVR ist: für der Assembler in http://sourceware.org/binutils/docs/as/index.html und für den Linker in http://sourceware.org/binutils/docs/ld/index.html Der Trick ist, nicht dem Hinweis von unserem freundlichen Rolf Magnus zu folgen und eben nicht bei GCC sondern bei binutils zu suchen. Darinnen sind auch noch andere nützliche Dinge hierzu wie etwa das Make zu finden.
@J. V. Es ist ein AVR (siehe Betreff). @Sven Ohne C-Quellen (siehe meine Frage). @Rolf Unbrauchbare Antwort.
Martin schrieb: > @Rolf Unbrauchbare Antwort. Hast du auch geguckt? http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Overall-Options.html#Overall-Options (Insbesondere file.s und file.S hier) http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Assembler-Options.html#Assembler-Options Es ist nämlich in der Tat gar keine so schlechte Idee, den Assembler vom Compiler aus zu rufen. Man hat dann ein einheitliches Aufruf- Interface sowohl für Assembler- als auch für C-Quellen, und kann auch die Interruptvektortabelle des C-Frameworks gleich mit nutzen.
http://www.mikrocontroller.net/articles/Beispiel_Makefile
1 | # List Assembler source files here.
|
2 | # Make them always end in a capital .S. Files ending in a lowercase .s
|
3 | # will not be considered source files but generated files (assembler
|
4 | # output from the compiler), and will be deleted upon "make clean"!
|
5 | # Even though the DOS/Win* filesystem matches both .s and .S the same,
|
6 | # it will preserve the spelling of the filenames, and gcc itself does
|
7 | # care about how the name is spelled on its command-line.
|
8 | ASRC = |
Martin schrieb: > Ist es möglich mit dem GCC einen Assemblertext (ohne C-Quellen) zu > übersetzen und zu linken? Wenn ja, wo finde ich dazu Informationen? Macht aber keinen Spass. Das ist kein sehr komfortabler Assembler...
Peter Stegemann schrieb:
> Das ist kein sehr komfortabler Assembler...
Ach? Was genau fehlt dir eigentlich?
Komfortabler als der billige Atmel-Absolut-Assembler ist er allemal...
Jörg Wunsch schrieb: > Peter Stegemann schrieb: > >> Das ist kein sehr komfortabler Assembler... > Ach? Was genau fehlt dir eigentlich? Ich habe den einmal ausprobiert und keine Liste gefuehrt, sorry. Es hat mich auch nicht weiter gekuemmert. Ich ging davon aus, dass dessen Hauptjob die Uebersetzung von gcc-Output ist, nicht von handgeschriebenem Code. > Komfortabler als der billige Atmel-Absolut-Assembler ist er allemal... Naja, es gibt fast immer ein Tool, das noch unkomfortabler ist...
hey, ich habe dieselbe frage nur andersherum: ich hab das AVR studio 4, kann damit auch wunderbar assembler programmieren, c lässt sich zwar zu beginn einstellen, dann aber nicht kompilieren.. was tun? danke!
danke! ja, runterladen allein genügt nicht. hatte es mal installiert und auf hinweis meiner prof neuistallieren wollen, das dann aber vergessen. habs jetzt getan, da ändert sich aber nichts. fehlermeldung: make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4217b3) Build failed with 1 errors and 0 warnings... ist also nicht sonderlich aufschlussreich, sagt ja nicht, wo der fehler liegt(kann auch nicht wie bei VisualStudio drauf doppelklicken). dabei frage ich mich, was daran falsch sein soll: #include <stdint.h> main() { uint8_t c; }
degufan schrieb: > ist also nicht sonderlich aufschlussreich, sagt ja nicht, wo der fehler > liegt Im Binary selbst. Es stürzt schlicht und ergreifend ab.
>frage ich mich, was daran falsch sein soll: An deinem Code? Ist völlig egal. Der Fehler liegt ganz woanders, WinAVR will nicht, make stürzt ab. Was vermutlich daran liegt, daß da mehrere verschiedene Versionen von make auf deinem Computer existieren, die Pfade nicht stimmen, und jetzt die falsche aufgerufen wird. Oliver
was ist mit dem make? hab ich noch nie gehört. wie kann ich das ändern? danke =)
Bascom wäre eine Möglichkeit. Ansonsten mach mal ein Kommandofenster auf, wechsel in den Ordner "default" deines Projektes, und tipp da mal "make". Wenn das wieder abstürzt, tipp "which make.exe", und berichte, was dann da steht. Oliver
Alles deinstallieren. Händisch das Dateisystem aufräumen, falls bei der Deinstallation noch irgendetwas übrig geblieben sein sollte. Händisch die Registry aufräumen Alles noch einmal neu installieren. Geht oft schneller als da stundenlang nach dem einen fehlerhaftem Eintrag zu fahnden, der bei der vorhergehenden Deinstallation übrig blieb.
hmm okay, daran hab ich auch schon gedacht.. werd ich später dann mal tun. danke.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.