Hallo zusammen, ich sitze jetzt schon 2 Stunden vor dem Rechner und hab noch keine Zeile Pogrammiert. Alles was ich will ist ein Beispielprojekt, mit dessen Hilfe ich den GNU Assembler Schrittweise Debuggen kann und zwar so, dass das AVR Studiuo alle nötigen Kompilereinstellungen vornimmt: Leider haben meine EInträge der Custom Compilation Options ( im Avr Studio ): -Wa,-gstabs und den Eintrag im *.S File: stabs "",100,0,0,xmit .stabs "suart.s",100,0,0,xmit nichts gebracht, bitte um eure Unterstützung
C und Assembler mischen ist schon die hohe Schule der Programmierung. Da muß man schon recht fit in den Internas (Parameter passing, Registerverwendung) des AVR-GCC sein und in Assembler erst recht. Ich würde daher erstmal klein anfangen. Z.B. AVR-Studio mit dem hauseigenen Assembler 2. Oder pures C mit WINAVR. Peter P.S.: Wenn man dann genügend fit in C ist, daß man es könnte, hat man plötzlich gar keine Lust mehr, Assembler und C zu mischen.
Hallo, ich hab ja bereits Sourcen vorliegen, und will eben darin Rumsteppen: http://elm-chan.org/docs/avrlib/avrfft.zip Alles was ich brauche ist ein geeignetes Makefile oder jemand der Kurz ein Beispielprojekt daraus macht Gruß Stema
Der Link funktioniert nicht. Um überhaupt erstmal mit der kompletten Toolchain warm zu werden, eignet sich komplexer fremder Code mit Abstand am schlechtesten. Bring erstmal ein simples "LED an" zum Laufen. Peter
Der Link funktioniert, Einfach in den WWW-Explorer kopieren und NICHT anklicken. LED hab ich schon tausende zum blinken gebracht. Ist mir vom prinzip her auch egal. Mir reicht auch ein Projekt wo ne LED blink. Ich will eben *.C und *.S Files mischen und debuggen. Alles was ich brauche ist ein Beispiel mit Avr Studio Gruß Stema
Assembler und C Code gemischt, mit Debugging wrote: > LED hab ich schon tausende zum blinken gebracht. Ist mir vom prinzip her > auch egal. Sorry, "Beispielprojekt" klingt erstmal nach Greenhorn. > Mir reicht auch ein Projekt wo ne LED blink. Ich will eben *.C und *.S > Files mischen und debuggen. Damit kann ich nicht dienen. Ich hab einmal versucht Inline Assembler zu machen und bin damit dermaßen furchtbar auf die Fresse gefallen, nie wieder (Irgendwie hatte sich das I2C verhakt und ich hab, weil unter Zeitdruck, nen Timeout aufgesetzt, der das I2C reenabled. Psst, nicht weitersagen). Ich mache nun entweder pure Assembler mit voller Kontrolle über alle Adressen und Register (z.B. Bootloader) oder pure C mit voller Abgabe der Ressourcenverwaltung an den Compiler. Ich habe gemerkt, daß man mit etwas Nachdenken, d.h. Programmablauf umstellen, fast immer die CPU-Last besser verteilen kann, so das Assembler garnicht mehr nötig ist. Peter
Inline asm ist ja auch was komplett anderes als separate Assembler- Dateien. Der Inline-Assembler ist mächtig, aber ziemlich komplex sich da einzuarbeiten. Aber ich fürchte, der OP hat mit AVR Studio dafür einfach mal schlechte Karten. Ein ,,Beispielprojekt'' dafür gibt's einfach nicht. Mit DWARF-2 geht's nicht, weil die binutils da 'ne Meise haben und im Assembler keine Zeilennummerninformationen geben. Das müsste mal jemand reparieren -- vorzugsweise natürlich jemand, der den nötigen Leidensdruck hat, sowas auch benutzen zu wollen. Via stabs und COFF würde es funktionieren, aber erstens muss man dann mit den Macken des COFF-Formats leben, und zweitens dürfte der primitive Makefile- Generator von AVR Studio das kaum freiwillig generieren wollen, man müsste sich also zumindest die Mühe machen, mit Mfile ein eigenes Makefile aufzusetzen. Die dritte Variante wäre der GDB, der mit stabs mit beiden Quellsprachen klar kommt. Aber normalerweise reagiere ich nicht auf Trolle, die keinen auch nur ansatzweise vernünftigen Namen eingeben und der Meinung sind, wenn sie ihr Problem innerhalb von drei Stunden dreimal posten, um den Leuten nur gehörig auf den Wecker zu gehen, hätten sie bessere Chancen auf Hilfe. Peter schrieb: > Ich habe gemerkt, daß man mit etwas Nachdenken, d.h. Programmablauf > umstellen, fast immer die CPU-Last besser verteilen kann, so das > Assembler garnicht mehr nötig ist. Dem kann ich allerdings zustimmen.
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.