Hiho, mit welcher Compiler-Direktive veranlasst man GCC eine Assembler-Datei zu erstellen? Danke für Hilfe! Peter
Danke Notker, muß man das als Compiler flag setzen? Ich habs probiert, aber er hat einen Fehler ausgespuckt. Grüße, Peter
wie es notker schon sagt in der kommadozeile hinter dem make.exe...ich habs leier noch nie gemacht kann dir also nichts weiter darüber sagen...
Ich hab das jetzt probiert ("-S" in der Kommandozeile), aber so wirklich funktioniert hat das nicht... er kompiliert und linkt nach wie vor brav zu einem ".hex"-File. Weiß jemand Rat? Grüße, Peter
Nicht hinter die make.exe, sondern hinter den avr-gcc-Aufruf (bzw. ins Makefile). Oder du disassemblierst dein Programm einfach nach dem Kompilieren: avr-objdump -DS test1.elf > test1.lst
Soweit ich das in Erinnerung habe, entsteht aber sowieso als Zwischenprodukt ein kommentiertes Assemblerlisting (xyz.lst). Wenn es nur zu Kontrollzwecken dienen soll, hat man hier was man sucht. Die entsprechenden C-Befehle stehen als Kommentare mit dabei.
Also wer das mal ausprobieren möchte, der genaue Syntax lautet wie folgt: z.B. für eine Source test.c avr-gcc -S -mmcu=at90s2313 test.c Gross-/Kleinschreibung unbedingt beachten und den entsprechenden AVR-Typ angeben! Danach findet man eine Datei namens test.s (entsprechend dem Beispiel) im Verzeichnis, die den Assembler-Quellcode enthält. Wenn man es noch etwas genauer wissen will, kann man noch den Parameter -fverbose-asm angeben, dann sieht man auch die default-Parameter, die bei der Übersetzung beim avrgcc gesetzt wurden. Den Assembler-Code kann man, je nach Geschmack etwas bearbeiten und dann mit avr-as.exe zum fertigen Produkt assemblieren. Es ist aber zu beachten, dass der avr-as (soweit mir bekannt) einen anderen Syntax hat als z.B. der wavrasm von Atmel. Notker
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.