Autor: nebel

As soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.

(Maurice Wilkes, 1949, Konstrukteur einer der ersten speicherprogrammierbaren Computer)

Wie man mysteriöse, stille Fehler im Arduino Sketch vermeidet: Schiebe PROGMEM ans andere Ende

Das Bild in diesem Beitrag wurde von DALL-E erstellt.

Hast du schon mal einen Arduino Mega 2560 (oder ein ähnliches Board) benutzt und irgendwann im Entwicklungsprozess festgestellt, dass die LED auf mysteriöse Weise aufhört zu blinken, dass der Text verstümmelt gedruckt wird oder dass komische Artefakte auf den Bildern erscheinen? Und das alles ohne ersichtlichen Grund oder eine Fehler- oder Warnmeldung? Wenn du wissen willst, was dahinter steckt und wie du dieses Problem lösen kannst, lies weiter.

Weiter lesen

Stop-and-Go

Das Bild in diesem Blogpost stammt von WikimediaImages auf pixabay.

Eine typische Debugging-Aktivität ist das Setzen von Haltepunkten (engl. Breakpoints) und das anschließende Durchlaufen des Programms von Haltepunkt zu Haltepunkt, wobei der interne Zustand des Programms an jedem Haltepunkt überprüft wird. Das hört sich zwar einfach an, ist in der Umsetzung dann aber doch komplizierter als man glaubt. In diesem Blogbeitrag werden wir einen Blick in den Maschinenraum eines Debuggers werfen.

Weiter lesen

Ein Schnäppchen für alle: SNAP

Das Bild in diesem Beitrag wurde von DALL-E erstellt.

Microchip hat den Preis für ihren Hardware-Debugger SNAP von über 50 € auf unter 20 10 € gesenkt. Ich habe kürzlich das Python-Skript dw-gdbserver für diesen und andere Hardware-Debugger erstellt, so dass du SNAP jetzt in der Arduino IDE 2 zum Debuggen klassischer ATtinys und kleiner ATmegas verwenden kannst. Alles in allem ist dies eine erschwingliche und komfortable Debugging-Lösung für klassische AVRs.

Weiter lesen

Per Einzelschritt die Orientierung verlieren

Das Bild in diesem Beitrag wurde von DALL-E erstellt.

Beim Embedded Debugging passiert es oft, dass man beim zeilenweisen Single-Stepping plötzlich in der Interrupt-Vektor-Tabelle landet. Ein weiteres Problem ist, dass einzelne Schritte manchmal Ewigkeiten dauern können. In diesem Blogbeitrag gehe ich auf beide Probleme ein, und zeige, welche Maßnahmen in einem Gdbserver diese Probleme verhindern können. Alles natürlich im Kontext von AVR MCUs.

Weiter lesen

Copyright © 2025 Arduino-Bastelecke

Thema von Anders NorenHoch ↑