Programmspeicherverbrauch visualisieren

OP (Firma: rtti.de) #3203312
Hallo zusammen,

immer wieder habe ich das Problem, dass meine Firmware zu groß wird und 
nicht mehr in den Flash passt. Den oder die Übeltäter lassen sich ja 
über objdump's .lst Files identifizieren. Nur leider sind .lst Files in 
meinen Augen alles andere als übersichtlich. Aus diesem Grund habe ich 
ein kleines Tool geschrieben, welches .lst Files parst und visualisiert.

Ausprobieren: http://files.rtti.de/lstvis/
Sourcecode: https://github.com/rti/lstvis

Vielleicht hilft's ja jemandem. Mein Firmware passt jedenfalls schon 
wieder in den Flash ;)

Lieben Gruß
Robert
Gast
Robert Timm schrieb:
> Aus diesem Grund habe ich
> ein kleines Tool geschrieben,

Man braucht gar nicht mal viel zu schreiben, wenn man sich Daten aus 
langen unübersichtlichen Files schnell anzeigen lassen will. Ich habe 
einen Grep-Befehl in einem Command-File (Batch), um mir beim 
Kompiliervorgang drei wichtige Werte anzeigen zu lassen. Grep.exe befand 
sich in einem Set von Unix-Tools, die man sich im Internet suchen kann.

Aber wie immer gibt es für ein Problem sicherlich 1000 Lösungen.
Gast
Robert Timm schrieb:
> Wilhelm Ferkes schrieb:
>> drei wichtige Werte anzeigen zu lassen
>
> Interessant, welche Werte sind das?

Der Codeverbrauch und Datenverbrauch natürlich, was am meisten 
interessiert.

Mit dem Grep-Tool kann ich mir aber beliebig alles zeilenweise aus 
Listing- und Map-Files heraus suchen, was ich sehen will.

Ich lernte mit dem ersten PC unter DOS die Batch-Programmierung, und 
verwende sie bis heute gerne, sie wurde sogar mit den Windows-Versionen 
immer noch komfortabler, z.B. FOR-Schleifen, die machte Win ME noch 
nicht.
OP (Firma: rtti.de)
Wilhelm Ferkes schrieb:
> Der Codeverbrauch und Datenverbrauch natürlich, was am meisten
> interessiert.

Ach so. Na das macht doch aber "size" auch schon, welches mit der GCC 
Toolchain mitkommt.

Das oben erwähnte Tool analysiert auf "Symbol" Level. Man bekommt also 
z.B. den Speicherverbrauch einzelner Funktionen übersichtlich 
dargestellt. Nicht nur dass das Programm zu groß ist, sondern was im 
Programm zu groß ist. :)
Gast
Die Farben sind bescheuert, und mit den meisten Angaben außer der 
Codelänge kann ich überhaupt gar nichts anfangen.

In einem meiner letzten Command-Files hatte ich folgendes drin:
1
echo.
2
%unxutilspath%\grep -i -n "Rtop" %projectspath%\%listingdir%\main.map
3
%unxutilspath%\grep -i -n "Stackbase" %projectspath%\%listingdir%\main.map
4
%unxutilspath%\grep -i -n "Stacksize" %projectspath%\%listingdir%\main.map
5
%unxutilspath%\grep -i -n "Stacktop" %projectspath%\%listingdir%\main.map
6
echo.
7
%unxutilspath%\grep -i "BDATA" %projectspath%\%listingdir%\main.map
8
%unxutilspath%\grep -i "DDATA" %projectspath%\%listingdir%\main.map
9
%unxutilspath%\grep -i "IDATA" %projectspath%\%listingdir%\main.map
10
%unxutilspath%\grep -i "CODEBASE " %projectspath%\%listingdir%\main.map
11
%unxutilspath%\grep -i "CODE " %projectspath%\%listingdir%\main.map

Diese 9 Zeilen werden mir bei Kompilierung im Ausgabefenster direkt 
angezeigt. Ich könnte sie auch noch in eine Textdatei schreiben lassen.
OP (Firma: rtti.de)
Ob du's glaubst oder nicht, ich habe das hier nicht gepostet um mit dir 
über Farben zu diskutieren. Wenn du das Tool nicht brauchst, ok. Was 
diesen Thread bereichert hätte, wären Fehlermeldungen, 
Verbesserungsvorschläge und Links zu Tools, die ein ähnliches Problem zu 
lösen versuchen, gewesen.
Gast
Robert Timm schrieb:
> Wenn du das Tool nicht brauchst, ok. Was
> diesen Thread bereichert hätte, wären Fehlermeldungen,
> Verbesserungsvorschläge und Links zu Tools, die ein ähnliches Problem zu
> lösen versuchen, gewesen.

Nein, ich brauche es wohl kaum oder gar nicht, machte aber einen 
Vorschlag. Einen Verbesserungsvorschlag machte ich auch: Die Farben sind 
einfach Hippie.
Gast
Robert Timm (Firma: rtti.de) (rti) schrieb:

> Ob du's glaubst oder nicht, ich habe das hier nicht gepostet um mit dir
> über Farben zu diskutieren.

Bei den Farben gibt es auch nichts zu diskutieren, außer der 
Feststellung, sie sind absolut indiskutabel.

Insofern hat Willem vollkommen recht.
Gast
Die Augen sind mit Ü50 nicht mehr so hip wie mit 16, Orange auf schwarz 
o.ä. geht mal gar nicht. Ich mußte erst mal den Bildschirm auf 200% 
vergrößern, um was lesen zu können.

Das ist jetzt keine böse Unterstellung, aber manch einer wird schon noch 
mal bemerken, wie die Augen von 30 über 40 über 50 schlechter werden.
Gast
Wilhelm Ferkes (ferkes-willem) schrieb:

> Das ist jetzt keine böse Unterstellung, aber manch einer wird schon noch
> mal bemerken, wie die Augen von 30 über 40 über 50 schlechter werden.

Und die Dioptrien auf der Nase werden auch mehr.

;)
Gast
Robert Timm schrieb:
> Ob du's glaubst oder nicht, ich habe das hier nicht gepostet um mit dir
> über Farben zu diskutieren. Wenn du das Tool nicht brauchst, ok. Was
> diesen Thread bereichert hätte, wären Fehlermeldungen,
> Verbesserungsvorschläge und Links zu Tools, die ein ähnliches Problem zu
> lösen versuchen, gewesen.
1
nm --size-sort --reverse-sort output.elf

Und die Unixer hängen einfach noch ein
1
| head
 an!


Fertig! ;-)
Gast
Ups, einen Output wollte iich eigentlich noch anhängen:
1
00002000 B uart_io_buf
2
00000fb8 t cbUSBD_HID_Setup
3
000005f0 B USB_OTG_dev
4
000002e4 T USB_OTG_EPStartXfer
5
000002d4 T USB_OTG_CoreInitDev
6
000002d0 T In_USB_Mode
7
000002b6 T __sfvwrite_r
8
00000248 T _printf_i
9
0000022c T _vfprintf_r
10
0000022c T _vfiprintf_r
11
0000020c t DCD_HandleInEP_ISR
12
0000020a t cbUSBD_EP0_TxSent
13
0000020a t cbUSBD_EP0_RxReady
14
...
Gast
Wilhelm Ferkes schrieb:
> Kommentator schrieb:
>
>> Und die Dioptrien auf der Nase werden auch mehr.
>>
>> ;)
>
> Du lachst heute noch, morgen nicht mehr so. ;-)
>
> Es sei denn, du hast schon die Glasbausteine bzw. Schnapsgläser auf.

Demenz ist im Alter allerdings das größere Problem. (Die merkt man als 
Betroffener nämlich nicht, im Gegensatz zu den Glasbausteinen. Da lachen 
dann nur die anderen nicht mehr.)

Ja, unser Ferkels bereichert einfach jede Diskussion mit seinen 
geistreichen Anmerkungen.
Gast
Wilhelm Ferkes (ferkes-willem) schrieb:
>Kommentator schrieb:
>> Und die Dioptrien auf der Nase werden auch mehr.
>>
>> ;)

> Du lachst heute noch, morgen nicht mehr so. ;-)

> Es sei denn, du hast schon die Glasbausteine bzw. Schnapsgläser auf.

Das ;) war ein Augenzwinkern, kein Lachen und ja, ich bin selbst 
Betroffener (diesmal ohne Zwinkern). Glasbausteine sind's noch nicht, 
aber die Tendenz ist leider ziemlich eindeutig.

Ist aber OT.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 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.