www.mikrocontroller.net

Forum: Compiler & IDEs WinAVR : Frage zum MAP-File


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgende Frage :

Vom IAR Compiler bin ich es gewohnt, im Map-File die RAM-Adressen von 
statischen globalen Variablen angezeigt zu bekommen. Aus dem MAP-File 
des WinAVR (aktuellste Version) kann ich diese Info leider nicht 
entnehmen.

Kann man es einstellen ? Oder geht es garnicht ?


Warum stelle ich diese Frage =>
Mit der Info der SpeicherAdresse ist es möglich per Zeiger den 
Variableninhalt auszulesen. Mittels serieller Kommunikation übergebe ich 
dem µC die Adresse und erhalte als Antwort den Inhalt. Somit kann ich 
jederzeit   (auch in einer späteren Applikation!) debuggen. Es besteht 
sogar die Möglichkeit das Programm so zu gestalten, dass auf die 
gewünschte Variable jederzeit von "AUSSEN" geschrieben wird (gut zum 
Tuning von aussen, z.B. Totzeitoptimierung).
Nun gut, wenn der WinAVR im Map-File keine Angabe zur Adresse einer 
statischen globalen macht, kann die obige Debug-Möglichkeit natürlich 
nicht genutzt werden (wäre schade :-( ).

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
siehe http://www.mikrocontroller.net/articles/AVR-GCC#Ti...

"Mit dem Tool avr-nm erhält man eine Übersicht über die Platzausnutzung 
in der erzeugten ELF-Datei bzw. dem damit gefüllten AVR. Das Tool wird 
per Kommandozeile mit avr-nm --size-sort --print-size <name of your ELF 
file> aufgerufen. Alle Symbole mit einem "T" (globale Funktionen), "t" 
(statische Funktionen) und letztlich auch mit einem "D" oder "d" 
(globale bzw. statische Daten, die haben ihre Initialisierungswerte im 
ROM) betreffen das FLASH-ROM. "B" und "b" brauchen ausschließlich RAM 
(werden beim Start mit 0 initialisiert). Die erste Spalte ist die 
Adresse des Symbols, die zweite ist die Größe (beides hexadezimal). 
(nach Forenbeitrag von Jörg Wunsch)"

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.