Code::Blocks und avr-gcc: Listfile erzeugen

OP #1402236
Hallo zusammen,

nachdem ich auf Linux umgestiegen bin, musste ich endlich weg von 
AVRStudio, was ich bisher keine Sekunde bereut habe. Jetzt bin ich 
allerdings an einem Punkt angelangt, an dem es wieder einmal sinnvoll 
wäre, das Assemblerlisting des Compilers zu prüfen. Im WinAVR-Plugin für 
AVRStudio gab es damit ja die nette Option "Generate List file", was 
auch immer funktionierte. In Code::Blocks (Auch da gibt's ja sowas wie 
ein Plugin für den avr-gcc) gibt's das in der Form allerdings nicht.
Ich habe mich nun also etwas mehr mit den Kommandozeilenoptionen für 
GCC/GAS vertraut gemacht. So wie ich das sehe, brauche ich sowas:
1
avr-gcc ... -Wa,-ahl=listing.lss
Soweit so gut, wenn ich das bei den Build options für den Compiler 
angebe, erzeugt er die Datei zwar, allerdings natürlich nur für die 
zuletzt kompilierte Quelldatei (Oder anders gesagt: Alle vorhergehenden 
werden überschrieben). Mittels $(FILE) müsste man da ja eigentlich auf 
das aktuelle Kompilierungselement zugreifen können, doch leider liefert 
diese Variable offensichtlich immer einen leeren String, ich bekomme 
damit nur eine einzige Datei mit dem Name ".lss". Ausserdem wäre es mir 
lieber, so wie bei WinAVR nur ein einziges Listfile zu bekommen. Doch 
wie muss die Kommandozeile dafür aussehen? Der Assembler wird ja 
eigentlich für jede Quelldatei einmal gestartet, hat also gar nie 
Zugriff auf das ganze Programm. Oder?

Danke und Gruss,
Philipp
OP
Jörg G. schrieb:
> Schau dir mal das Makefile von WinAVR an (d.h. die Vorlage, die MFile
> mitbringt). Falls du gerade nicht an winavr rankommst, findest du mfile
> hier: http://www.sax.de/~joerg/mfile/ Da ist auch die Vorlage dabei,
> falls du mfile nicht benutzen willst.
>
> hth, Jörg

Ah, danke!

Das macht nicht der Assembler, sondern avr-objdump nach dem Kompilieren.
Folgende Zeile in den Post-Build-Steps produziert ein wunderschönes 
Listfile:
1
avr-objdump -d $(TARGET_OUTPUT_FILE) > $(TARGET_OUTPUT_FILE).lss

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.