uart debugging

Gast #7061726
Lesenswert?

Unter Uart-Debugging verstehe ich, dass eine Firmware ohne Display 
läuft, und man die einzigen Ausgaben über einen Uart macht:
Lebenszeichen
Fehlermeldung
Programm-Stati

Das mache ich bei kleinen Embedded Controllern, die ohne Display, 
Webserver, Netzwerk und ähnliches auskommen müssen. Die Teilchen sind 
dann in irgendwelche Maschinen in der Werkhalle eingebaut.

Warum man sowas auf einem Raspi macht, der Display- und 
Netzwerkanschluss hat, kann ich nicht nachvollziehen.
Gast #7061788
Lesenswert?

Eine Art des Debuggens ist, an ausgewählten Stellen im Programm 
Debug-Ausgaben einzubauen (z.B. "bin hier angekommen, variable foo hat 
den wert x" etc).  Die Ausgabe kann dabei auf der Console geschehen, 
oder, wenn die z.B. nicht vorhanden/verfügbar ist, auf einer seriellen 
Schnittstelle (UART).
#7061813
Lesenswert?

PittyJ schrieb:
> Warum man sowas auf einem Raspi macht, der Display- und
> Netzwerkanschluss hat, kann ich nicht nachvollziehen.

Ist nützlich wenn man am Linux Kernel selbst schraubt - dabei kann man 
sich leicht das Display und Netzwerk zerschißen.

GDB unterstützt Remote Debugging via UART. Normalerweise ist Netzwerk 
einfacher aufzusetzen, aber da gibt es natürlich Ausnahmen.
#7062197
Lesenswert?

Mans A. schrieb:
> Bitte erklärt es so, als würdet ihr das einem Kind erklären.

Hmm...
Du willst aus Bauklötzen einen hohen Turm bauen, aber der stürzt immer 
wieder ein. Jetzt willst du rausfinden warum.
Also holst du deinen Freund Uart dazu.
Jedes mal, wenn du einen Stein auf den Turm setzt, sagst du Uart vorher 
bescheid, welche Farbe der Stein hat.
Wenn der Turm zusammenfällt, kannst du am Steinehaufen nicht mehr sehen 
was der Letzte war. Aber: Uart weiß das!
Dadurch kriegst du wertvolle Infos zur Fehlersuche, und kannst beim 
nächsten Versuch z.B. die roten Bauklötze weglassen.

Das verdeutlicht gleich noch ein Problem beim Uart-Debugging: Wenn du 
keinerlei Idee hast, was der Fehler sein könnte, wirst du auch nicht die 
richtigen Debug-Ausgaben einbauen. Du müsstest z.B. selber auf die Idee 
kommen, deinem Freund statt der Farbe eher die Lage des 
Bauklotz-Schwerpunkts  mitzuteilen.
Gast #7062500
Lesenswert?

Εrnst B. schrieb:
> Wenn du
> keinerlei Idee hast, was der Fehler sein könnte, wirst du auch nicht die
> richtigen Debug-Ausgaben einbauen.

Da hilft nur Masse - nach jeder Zeile Code eine Ausgabe. Es genügt ja 
zunächst eine fortlaufende Zahl, dann weiss man zumindest wie weit das 
Programm gekommen ist.

Georg
Gast #7062552
Lesenswert?

MaWin schrieb:
> PittyJ schrieb:
>> Programm-Stati
>
> Plural von Status ist Status. Gesprochen mit langem u. Immer diese
> Wichtigtuer die mit Ausdrücken um sich werfen von denen sie keine Ahnung
> haben. Macht euch weiter so in euren Meetings zum Affen.

Wenn man keine Argumente hat, dann greift man die Leute persönlich an.
Achja, Kommas kannst du genauso wenig wie ich.

"Gesprächspartner, die aufgrund mangelnder Argumente zu persönlichen 
Angriffen neigen, sind in der Regel überfordert und fühlen sich 
unterbewusst in die Enge getrieben. Wenn Ihr Gegenüber spürt, dass 
eigentlich Sie die stärkeren Argumente in der Diskussion besitzen und 
kurz davor sind das Rennen zu gewinnen, dann ist sein letzter Ausweg der 
persönliche Angriff. Dadurch möchte er durch verletzende Argumente 
versuchen, Sie zu verwirren und aus der Bahn zu werfen."

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