[STM32] RAM-Dump + .elf / .map File lesbar auswerten

Gast #4742284
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
Gast
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?
Gast
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.
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.
Gast
Wenn eine Firmware released wird, werden alle anderen Dateien auch in 
Subversion mitgetaggt. Den "Memory Browser"-View werde ich mir mal 
anschauen. Vielen Dank!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.