www.mikrocontroller.net

Forum: Compiler & IDEs .asm vs .S, Verfahren zum Konvertieren


Autor: Felix Jankowski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Gibt es irgendein Verfahren, Handbuch oder irgendwas woran man sich
halten kann, wenn man ein für AVR-Studio geschriebenes Projekt für den
gcc-ass umwandeln will. Ich hab ein Programm in asm, von welchem ich
einige Fuktionen von C aus aufrufen will. Daher mein Problem. Habe auch
schon das Tutorial nochmal gelesen und auch die Hilfe zur avr-libc, aber
irgendwie ist das alles Mist. U.U. werde ich ein Makro programmieren,
welches die Arbeit dann selbstständig erledigt.

Grüße und Danke,
Felix

Autor: FeeJai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnt mir ma einer den trick verraten was ma machen muss um hier im
Forum antwort zu bekommen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage stellen, für die auch jemand eine Antwort hat. ;-)

Es hat offensichtlich noch keiner einen Automatismus verfasst,
um aus Atmel-Assemblercode gas-Assemblercode für den AVR zu
schreiben.  Allerdings sind die geänderten Pseudo-Ops dabei in
der Regel das kleinste Problem:

> Ich hab ein Programm in asm, von welchem ich
> einige Fuktionen von C aus aufrufen will.

Meistens sind derartige Assemblerstückchen ohne Rücksicht auf
irgendwelche Compiler-ABIs geschrieben worden.  Damit kannst du
diese nicht 1:1 aus einem C-Programm heraus aufrufen, sondern
musst ihnen entweder einen Wrapper voranstellen, der sämtliche
Register rettet und ggf. noch Parameter konvertiert (da fragt
sich dann nur noch der Sinn des Ganzen), oder aber du schreibst
den Kram gleich neu.  Bei letzterem kommst du vermutlich über
kurz oder lang dabei raus, dass du auch gleich alles in C
schreiben kannst.

Das wiederum erklärt dann, warum es noch niemand je bis zu
Ende gebracht hat, einen solchen Konverter zu schreiben...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.