mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Map-File mit gcc Compiler


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, besteht die Möglichkeite eine Map-File mit dem gcc Compiler zu 
erstellen??
Wenn ja wie lautet der Befehl dazu??
Vielen Dank

Autor: Stephan Storm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

besser spät als nie:

gcc -o test -Wl,-Map -Wl,test.map test.c

Ade!

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich habe das gerade mal unter Code::Blocks versucht aber bekomme das 
nicht hin.
Versuche das unter Windows mit dem mingw32.
Die Option Map wird da nicht zun an-harken angeboten und wenn ich es 
einfüge bekomme ich immer die Meldung "-MAP" ist unbekannt.

Autor: Stephan Storm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, jetzt sieht die Sache anders aus. Also wie du siehst, ist es für den 
GCC kein Problem. Wie das mit Code::Blocks geht weiß ich nicht, da ich 
damit noch nie gearbeitet habe. Das ist meiner Meinung nach auch nicht 
nötig.

Schmeiß die Code::Blocks Scheiße weg und mach's mit der Kommandozeile. 
Vorteil: Man lernt viel mehr in Bezug auf den Compiliervorgang. Ist zwar 
am Anfang mühsam, zahlt sich aber am Ende aus!

Trotzdem: Code::Blocks arbeitet auch mit einem Makefile. Such mal in den 
Optionen ob du den Makefile "von Hand" anpassen kannst. Wenn du was 
findest melde dich nochmal.

Viel Glück
Stephan

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
Also C::B würde ich nicht weg werfen, da zu ist der einfach zu gut.
Hat zwar einige Macken (zB. #ifdef #else #endif wird nicht aufgelösst) 
und die Entwickler sind anscheinend nicht willig die mal zu beheben.
Musste deswegen für meine AVR Projekte auf NetBeans / Eclipse 
ausweichen.

Aber zurück zum Thema.
Man kann weitere Optionen angeben. Da hatte ich auch -Map eingetragen 
und die Meldung bekommen.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor ich es vergesse:
Makefiles kenne ich und ich kann damit auch umgehen.
Nur warum die extra Arbeit, wenn die IDE das alles kann.

Autor: Bernhard M. (boregard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

die option ist doch nur für den Linker, also ist die ganze option für 
den Compiler wirklich:
-Wl,-MAP
und nicht nur -MAP...

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde es nicht, gebe jetzt auch auf, habe keine Zeit mehr.
Einfach als zusätzliche Parameter geht nicht. Es gibt aber noch die 
Möglichkeit die Compiler / Linker aufrufe zu verändern.
Ich schaue mir das später nochmal an. Irgendwie  muss das ja 
einzustellen sein.
Danke Dirk

Autor: Gerald KK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit am Ende für zufällig vorbei kommende Leser noch was Verwertbares 
steht:

In den "Build Options" > "Linker Settings" > "Other Linker Options" 
einfach in eine Zeile des Fensters schreiben:

-Map ${PROJECT_DIR}${TARGET_OUTPUT_FILE}.MAP

Toolchain = Aktuelle GNU ARM, Code Sourcery.


P.S.:
C::B ist meiner Ansicht nach schon brauchbar und sehr hilfreich, aber zu 
verstehen, was im Hintergrund passiert, ist natürlich wichtig.

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.