www.mikrocontroller.net

Forum: GCC Makefile Atmel ARM assembler listing erstellen


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: X- Rocka (x-rocka)
Datum:
Angehängte Dateien:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Moin,

ich nutze den Atmel SAM3U (ARM Cortex M3) mit der gcc arm-none-eabi 
Toolchain.
Funktioniert alles prima, nur würde ich gerne assembler listings 
erstellen, diese hübschen *.lst-Files.

Mit diesen zusätzlichen Compiler Flags bekomme ich schon mal ein .lst 
File, dummerweise aber nur eins, da der Compiler die Namen der .c oder 
.o Files nicht übernimmt:
CFLAGS += -Wa,-adhlns=$(subst $(suffix $<),$(ASMLST)/.lst,$<)

".lst" ist am Ende der Kompilierung also das List File für den letzten 
Eintrag, im angehängten Makefile also C_OBJECTS += systick.o .

Kann mir bitte jemand helfen, wie ich dem Makefile beibringe, mir zu 
jedem .c ein .lst zu machen?

Danke,
X

Autor: X- Rocka (x-rocka)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Keiner? :(

Autor: ich (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hast du das mal versucht? Beitrag "ARM-Entwicklung mit Eclipse & CodeSourcery: asm-listings löschen" 
Gib mir dann Bescheid wenn du rausgefunden hast wie man die automatisch 
wieder löscht.

Autor: X- Rocka (x-rocka)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Auch mit der Zeile:
CFLAGS += -Wa,-adhlns="$@.lst"

wird ein namenloses .lst File erstellt, was immer wieder überschrieben 
wird.

???

Autor: Rolf Magnus (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ist das oben gezeigte wirklich das Makefile, bei dem's nicht tut? Ist es 
in einem Unterverzeichnis eines rekursiven make-Aufrufs?
Ich vermute, daß CFLAGS schon vorher irgendwo definiert wurde, und zwar 
mit :=. Dann   wird nämlich alles zum Zeitpunkt der Variablendefinition 
expandiert (bzw. dort, wo du das += machst) und nicht erst dort, wo sie 
eingesetzt wird.

Autor: X- Rocka (x-rocka)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> Ist das oben gezeigte wirklich das Makefile, bei dem's nicht tut? Ist es
> in einem Unterverzeichnis eines rekursiven make-Aufrufs?
> Ich vermute, daß CFLAGS schon vorher irgendwo definiert wurde, und zwar
> mit :=. Dann   wird nämlich alles zum Zeitpunkt der Variablendefinition
> expandiert (bzw. dort, wo du das += machst) und nicht erst dort, wo sie
> eingesetzt wird.

Das Makefile befindet sich in im Projektverzeichnis, und "make all" wird 
als Programmer's Notepad Tool aufgerufen.
Keine Ahnung, wo CFLAGS schon definiert worden sein sollte. Die Suche 
zeigt, dass nur im Makefile CFLAGS existiert.
Hab's probiert, kompiliert auch mit "CFLAGS =" in erster Zeile.
Was muss ich tun, damit die .lst Files auch die Namen der .c-Files 
übernehmen. Habe schon ganz viel rumprobiert.

Autor: Rolf Magnus (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Wie sieht es mit den hier eingebundenen Files aus:
# Compile with chip specific features
include $(AT91LIB)/boards/$(BOARD)/$(CHIP)/chip.mak

# Compile for all memories available on the board (this sets $(MEMORIES))
include $(AT91LIB)/boards/$(BOARD)/board.mak

Wird da was an den CFLAGS gemacht?

Autor: X- Rocka (x-rocka)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> Wie sieht es mit den hier eingebundenen Files aus:
>
>
> # Compile with chip specific features
> include $(AT91LIB)/boards/$(BOARD)/$(CHIP)/chip.mak
> 
> # Compile for all memories available on the board (this sets
> $(MEMORIES))
> include $(AT91LIB)/boards/$(BOARD)/board.mak
> 
>
> Wird da was an den CFLAGS gemacht?

Nein. Da wird unter anderem "MEMORIES" spezifiziert, für die make all 
Schleife unten im Makefile.

Auf jeden Fall schon mal vielen Dank für die Hilfe!

chip.mak:
# Defines which are the specific available IP for the chip AT91SAM3U4
CHIP_CORE    = cortexm3
CHIP_IP_EFC  = EEFC
CHIP_IP_MCI  = MCI_DMA
CHIP_IP_SSC  = SSC_DMA

board.mak:
# Defines which are the available memory targets for the AT91SAM3UE-EK board.
MEMORIES = sram flash psram

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net