www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Debugprobleme C164


Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich nutze µVision und den c164ci. Programmiert und debuggt wird über 
die RS232 mit dem Debugger von Keil. Ich habe nun das Problem, das der 
C164 irgendwann stehenbleibt, und ich nicht die Stelle finden kann. 
Debuggen geht halt schwer, da keine echte Jtag vorhanden ist. Es werden 
Daten per rs232 empfangen ausgewertet, und bearbeitet. Printf geht auch 
nicht an allen stellen, da der Debugger ja über die rs232 läuft.
Per signlestep schmiert der c164 nach nem rets in der seriellen routine 
ab, aber das ist vermutlich dem seriellen debuggen geschuldet.

Hat wer ne Idee, wie ich vorgehen könnte, mir fällt langsam nichts mehr 
ein :(.


thnx SiO2

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst z.B. einen Tracepuffer anlegen, in den Du eine Kennung 
schreibst, die die Stelle im Code eindeutig repräsentiert und nach dem 
Abschmieren die Mühle zurücksetzen und dann den Tracepuffer ansehen.

Der T. kann im einfachsten Fall ein einzelnes int sein, in den Du den 
Wert des _LINE_-Macros schreibst.

Eine komfortablere Version wäre ein Puffer, der viele Werte speichern 
kann.

Für das Schreiben des Tracepuffers schreibst Du Dir ein Macro, z.B.

   int LastLine = -1;
   #define TRACE()  LastLine = LINE

und setzt Macroaufrufe zunächst mit relativ großem Abstand in Deinen 
Code und startetst einen Test.

Dabei erhälst Du die letzte TRACE-Zeile, die noch durchlaufen wurde.

In einem Verfeinerungsschritt instrumentumentierst Du den Bereich 
zwischen dem letzten erfolgreichen TRACE() bis zum nächsten enger, usw., 
bis Du die Stelle gefunden hast.

Voraussetzung dafür, daß das Verfahren anwendbar ist, ist natürlich, daß 
Dein Rechner einen Speicherbereich hat, der beim Rücksetzen nicht 
überschrieben wird.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du genug ram? liegt der Monitor im internen ram? hatte auch mal 
probleme beim debuggen (beim C167, aber ist ja +/- das gleiche), wenn 
die Monitorkofiguration nicht exakt stimmt, tretten genau solche effekte 
auf wei du beschreibst, würd als erstes mal da suchen...

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.