Code::Blocks und avr-gcc: Listfile erzeugen

OP #1402236
Lesenswert?

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 #1405870
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren