Forum: Compiler & IDEs [STM32] RAM-Dump + .elf / .map File lesbar auswerten


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.
von Michael (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Hallo Forum,

Hintergrund:
Ich habe ein Produkt entwickelt, welches bereits weitläufig verbreitet 
ist. Da die Software stehtig weiterentwickelt wird, bleiben Fehler nicht 
aus. Oft ist es schwer, dem Anwender dann alle notwendigen Information 
zu entlocken, um auf die Fehlerursache zu kommen.

Idee:
Im Kern läuft die Software auf einem STM32F1 mit integriertem 
Webserveer. Ich würde gerne meinem Produkt die Möglichkeit hinzufügen, 
dass der Kunde sich ein Ram-Dump runterladen kann, um es mir zur 
Fehleranalyse zu schicken.

Problem:
Ich suche nun nach einer geeigneten Möglichkeit, wie ich diesen RAM-Dump 
vernünftig auswerten kann. Daher würde ich gerne eine Software haben, 
die mir aus dem RAM-Dump und entsprechenden Dateien, die ich beim 
Compilieren der Software erstelle, eine lesbare Auswertung erstellt.
Also eine Übersicht aller statischen Variablen und deren aktuellen 
Werte.

Nun meine Frage:
Gibt es evtl. schon eine Software, die aus "irgendwelchen Debugdateien, 
die beim compilieren erstellt werden" und einem RAM-Dump eine lesbare 
Auswertung generieren können?
Wenn nein, welche Datei sollte ich durch den Compiler (ich verwende ARM 
Yagarto Windows GCC C Compiler) erstellen lassen bzw. verwenden?

Ich benötige halt die Information, welche statischen Variablen 
existieren, welchen Datentyp sie besitzen und an welcher absoluten 
Adresse diese stehen.

Vielen Dank!
Michael

von hp-freund (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn der Kunde schon den Tester spielt, würde ich lieber die 
Möglichkeiten einer Ausgabe mit PASS/FAIL Anzeige für 
Programmteile/Funktionen nutzen.
Noch mehr "gebastelte" Software bringt evtl. noch mehr Probleme.

Ob das auf Dauer vom Kunden akzeptiert wird?

von Michael (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das Konzept sieht das "Tested by the customer" so vor, da es sich um ein 
Beta-Tester Programm handelt.

Leider beantwortet deine Aussage nicht meine Frage.

von Little B. (lil-b)


Bewertung
0 lesenswert
nicht lesenswert
Das Mapfile allein sollte eigentlich schon ausreichend Informationen 
beinhalten. Dummerweise musst du aber genau das Mapfile haben, das beim 
compilieren der entsprechenden Applikation herausgefallen ist.

Du musst also den compiler-output mitversionieren. Wenn du dann gleich 
noch alles (.o, .elf, etc) mit ins Git wirfst, dann kannst du genau den 
softwarestand in dein Debugger laden und die Binary RAM Image 
importieren. Eine solche Funktion gibts im Eclipse im "Memory 
Browser"-View. Ob das fuktioniert, habe ich keine Ahnung. Aber vieleicht 
hilft dir der Ansatz.

: Bearbeitet durch User
von Michael (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Wenn eine Firmware released wird, werden alle anderen Dateien auch in 
Subversion mitgetaggt. Den "Memory Browser"-View werde ich mir mal 
anschauen. Vielen Dank!

von Markus F. (mfro)


Bewertung
0 lesenswert
nicht lesenswert
gdb kann einen binären raw memory dump einlesen (s. help restore).
Wenn du dann noch den code hast, kannst Du globale und statische 
Variablen direkt angucken.

Bloß den Code für den dump mußt Du selbst schreiben.

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]
  • [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.