Forum: Compiler & IDEs Assembler in avrgcc-Umgebung programmieren!?


von Peter (Gast)


Lesenswert?

Hallöle,

es ist nun endlich soweit! Nachdem ich sozusagen für einen Appel und ein 
Ei eine ganze Stange 1200er erstanden habe, bin ich als eingefleischter 
C-fan nun doch gezwungen, mich mit diesem grauseligen AVR Assemblercode 
auseinanderzusetzen. Da ich allerdings einen gewissen Komfort der 
avrgcc-Umgebung noch nutzen will, kam es mir in den Sinn, meine Sourcen 
dort als .S Dateien zu schreiben. Dies bietet einem z.B. die 
Möglichkeit, die C Bibliotheksfunktionen unter Assembler noch nutzen zu 
können, also es bleibt noch ein gewisser Vorteil.
Allerdings habe ich bislang nur Beispiele von Unterprogrammen gesehen, 
die dann von einem C Hauptprogramm aufgerufen werden. Mir fehlt jedoch 
ein Muster, wie ich nun ein komplettes Hauptprogramm als 
Assembler-Source definieren kann. Ob ich z.B. die Interruptvektoren und 
den Stackpointer selbst setzen muss oder ob das der Assembler für mich 
übernimmt bzw. ob man dort eine Routine, wie z.B. gcrt1.S einbinden 
kann, die dann das ganze "Vorgeplänkel" für einen übernimmt.

Bin für sachdienliche Hinweise die zur Lösung dieses äusserst 
schwierigen Falls beitragen sehr dankbar!

mit :-) Grüssen,

Peter

von BAK (Gast)


Lesenswert?


von Peter (Gast)


Lesenswert?

Danke für den Hinweis, die Datei kenne ich schon. Aber dieses Dokument 
beantwortet meine Frage nicht, da ich ja für den AT90S1200 kein C 
programmieren kann und somit auch kein inline-Assembler in einer C 
Source. Ich möchte mein Hauptprogramm direkt als Assembler Source für 
den avr-gas schreiben. Dies ermöglicht mir, die Verwendung der Makros in 
macros.inc und die Verwendung der C-Library Routinen, deren Aufruf unter 
Assembler in der Datei ctoasm.inc beschrieben ist. Naja, vielleicht ein 
hoffnungsloser Fall, aber manchmal finden sich ja doch interessante 
Hinweise.

Hat vielleicht noch jemand eine Idee?

Gruss,

Peter

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.