IAR: Stack bei 100%

Gast #1746911
Lesenswert?

Hallo!

IAR hat zwar gar nichts mit GCC zu tun, aber och wusste nicht wo ich 
diesen beitrag hätte sonst hinpacken sollen.
Zum eigentlich Problem: Ich tippe gerade an einer Firmware für einen 
MSP.
Beim debuggen meldet mir IAR folegendes
1
Mon Jun 14 07:49:01 2010: The stack 'Stack' is filled to 100% (80 bytes used out of 80). The warning threshold is set to 90.%

ich bin zwar ein absoluter Anfänger, aber ich weiß, dass es kein gutes 
Zeichen ist, wenn der Stack überfüllt ist.
Aber woran liegt das? Wie kann man das verhindern?

Danke für eure Hilfe.

Gruß
Eric
Gast #1746966
Lesenswert?

Die kannst du dir beim Kompilieren im Build-Fenster anzeigen lassen. 
Musst du aber vorher einschalten, dass du alles sehen willst. Findest du 
auch bei den Optionen. Den Stack kannste dir auch unter "View" anzeigen 
lassen.
Gast #1746977
Lesenswert?

Dennis schrieb:
> Die kannst du dir beim Kompilieren im Build-Fenster anzeigen lassen.
> Musst du aber vorher einschalten, dass du alles sehen willst. Findest du
> auch bei den Optionen. Den Stack kannste dir auch unter "View" anzeigen
> lassen.

Also ich bin jetzt eigentlich jeden Reiter durchgegangen. Sowohl unter 
Project-Option, wie auch den Allgemeinen. Hab nichts von "Show memory 
information" o.ä. gefunden....
Gast #1748095
Lesenswert?

Dennis schrieb:
> TOOLS -> OPTIONS -> MESSAGES -> SHOW BUILD MESSAGES -> ALL

Ok, jetzt habe ich nach einem Rebuild eine Ausgabe von Bytes.
Ich geh mak davon aus, das CODE-Memory die (Flash-)Speichernutzung der 
Firmware und DATA-Memory der RAM ist.

Aber was ist diese (+XX absolute), dass hinter der Angabe vom 
DATA-Memory steht?

Tony schrieb:
> Projectoptions -> Linker -> List -> dort mal alles Anklicken
>
> ergibt ein .map file im Outputdirectory mit allen Infos drin.

Die Tabelle ist ja Wahnsinn. Da bin ich eigentlich schon erschlagen von 
der Informationsflut.

In der "Module Summary" wird ja die Speichernutzung aufgeführt. Was wird 
hier unter "Shared" und "Common" bzw. "Rel" und "Abs" verstanden?

Und was ist der Unterschied zwischen "Stack prev" und "Stack locally" 
beim Callstack.

Apropos Stack:
Unter "Watch" kann ich mir nicht den Stack anzeigen lassen, sofern ich 
als Variablennamen "Stack" eingebe. Du meintest doch mit "View" die 
Variablenwatchliste, oder?
Gast #1748109
Lesenswert?

Eric schrieb:
> Aber was ist diese (+XX absolute), dass hinter der Angabe vom
> DATA-Memory steht?

Da wäre ich froh, wenn dazu hier auch nochmal jemand eine Info gibt, das 
weiß ich nämlich auch nicht.

Eric schrieb:
> Unter "Watch" kann ich mir nicht den Stack anzeigen lassen, sofern ich
> als Variablennamen "Stack" eingebe. Du meintest doch mit "View" die
> Variablenwatchliste, oder?

Nein, das meine ich nicht, sondern kannst du (nur wenn du debuggst) 
unter VIEW -> STACK den Füllstand des Stacks sehen. Der ändert sich 
halt, je nachdem, wo du grad im Programm bist. Aber wie gesagt, 
natürlich nur während du debuggst, sonst ist unter VIEW nicht viel zu 
sehen :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren