www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Abstürze und Debuger zeigt fast nichts


Autor: Rolf Freitag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem Programm habe ich auf MSP430 das Problem, das es nach rund 
einer halben Stunde abstürzt, also der MC auf Eingaben von Außen nicht 
mehr reagiert.
Deshalb hab ich des mehrmals mit dem Debuger C-Spy laufen lassen, aber 
beim abgestürzten Programm zeigt es nur die Basis-Register (SP, PC, R3 - 
R 15) ; die betreffende Stelle im Source Code wird nicht angezeigt (das 
Fenster ist nur weiß) und zu Registern wie ADC12IFG kommt nur

ADC12IFG: Error[63]: Variable not active
Also habe ich mir SP und PC angesehen, aber bei denen tut sich nicht 
viel: Entweder ist der SP fest auf 09E0 und PC wechselt nur von 055E zu 
0562 und zurück (AM) oder der SP ist fest auf 09F0 und der PC fest auf 
10 (irgendein LPM laut C-Spy).
Was bedeutet das?
Muss man für den IAR-Compiler noch in jede zweite Zeile ein nop 
einfügen?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Spannungsspitzen und schlechte Abblockung kannst du ausschließen?

Matthias

Autor: Rolf Freitag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, denn jetzt habe ich zur Sicherheit die betreffende Platine in das 
geerdete Gerät eingebaut in dem andere Software schon tagelang lief und 
nun habe ich den Absturz schon nach 21 Minuten.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

das heißt noch lange nicht das deine Platine korrekt gegen Ground Bounce 
und ähnliches geschützt ist. Wenn der Absturz aber immer nach gleicher 
zeit erfolgt würde ich auf einen Stacküberlauf (in einer selten 
aufgerufenen Routine) tippen.

Matthias

Autor: Rolf Freitag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil die Hardware schon seit Jahren produziert wird und die Rücklaufrate 
der ca. 100.000 Geräte nicht allzu groß ist, kann es nur die Software 
sein.

Merkwürdig ist, dass der Absturz manchmal nach 21 Minuten, manchmal nach 
31 Minuten oder nach über einer Stunde passiert.

Ein Stack-Überlauf könnte zwar durch sowas eine rekursive Funktion 
passieren, aber merkt der C-Spy das denn nicht?
Die Möglichkeit den Ablauf umzukehren bis zur letzten Stelle, bei der es 
noch kein Problem gab, hat C-Spy ja leider nicht und Debugen mit 
Ausgaben in Log-Dateien, so wie bei PC-Programmen  üblich, geht ja 
leider nicht (weil der Flash-Speicher fast voll ist).

Autor: Rolf Freitag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also nach dem Disabeln vom ADC12 läuft es anscheinend stabil.
Aber eigentlich kann das doch nicht sein, wenn am Ende von

interrupt[ADC_VECTOR] void adc12 (void)

immer mit

ADC12IFG = 0;
gecleart wird, oder?

Auf Dauer kann ich das Disabeln auch nicht lassen, denn ich brauche den 
ADC12 auch um u. a. die OnChip-Temperatur zu messen.

Autor: Rolf Freitag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also nun habe ich das Programm mit aktiviertem ADC12, wobei das 
jeweilige ADC12MEMx ausgelesen wird, und es funktioniert stabil!
Es ist also definitiv ein Bug vom IAR-Compiler, denn nach dem User's 
Guide wird durch das Auslesen eines ADC12MEMx nur das betreffende 
Interrupt-Flag gelöscht, aber das wurde auch schon bisher mit

ADC12IFG = 0;
erreicht (mit ADC12TOVIE und ADC12OVIE immer auf 0).

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.