Das Debuggen von klassischen AVRs in der Arduino IDE 2 ist endlich Realität geworden! Es hat eine Weile gedauert, diese Funktion zu implementieren, aber jetzt ist es nur noch ein Kinderspiel, das Debugging zu aktivieren und den Debugger zu benutzen.
Weiter lesenSchlagwort: debugWIRE
Debugging 2.0
Das Bild in diesem Blogbeitrag basiert auf einer Vektorgrafik von captainvector bei 123RF.
Was hält die Leute davon ab, einen Debugger zu benutzen? Nun, meistens sind es die anfänglichen Kosten für die Einrichtung der Debugging-Umgebung und das Erlernen des Umgangs mit dem Debugging-Tool. Ich hoffe, dass die nächste Version meines Hardware-Debugging-Tools dw-link, mit dem man klassische ATtinys und ATmegaX8s debuggen kann, diese Belastung etwas verringert, vor allem, weil man die dazugehörige Hardware jetzt bei Tindie kaufen kann.
Problemlösungen … mit superglobalen Variablen
Das Titelbild dieses Beitrags ist ein Comic von xkcd.com.
Ein weiterer xkcd-Comic, der den Punkt trifft. Allerdings ist das mit meinem neuen Hardware-Debugger ja nun Vergangenheit 😎. Vor kurzem habe ich eines meiner elektronischen Geocaching-Gadgets debuggt und war positiv überrascht, wie einfach es war, die eigenen Fehler zu lokalisieren und die richtige Lösung zu finden.
Weiter lesenEin debugWIRE-Hardware-Debugger für weniger als 10 €
DasTitelbild dieses Beitrags basiert auf einem Bild von Florian-if, das bei Wikipedia unter CC-BY-SA-3.0 veröffentlicht wurde.
Ist es möglich, einen debugWIRE-Hardware-Debugger für weniger als 10 € zu bauen? Man kann, wenn man ein paar Kompromisse eingeht, ein bisschen lötet und Schrumpfschlauch erhitzt.
Weiter lesendw-probe: Die Hardware für den Hardware Debugger
dw-link kann ein Arduino-Board in einen Hardware-Debugger verwandeln und dw-probe verbindet es mit jedem Target-Chip.
Weiter lesenDies ist ein kleiner Schritt für einen Menschen, aber ein riesiger Sprung für einen Debugger: Single-Stepping und Interrupts
Das Titelbild dieses Beitrags ist von WikiImages auf Pixabay
Man will nur einen einzelnen Schritt in einem Programm ausführen, aber der Debugger springt zu einem völlig unbekannten Bereich des Programms. Dies war in der Tat meine erste Erfahrung, als ich den MPLAB-X-Debugger von Microchip auf dem Blink-Programm ausprobierte habe. Fehler oder Feature?
Weiter lesendw-link: Ein neuer Hardware-Debugger für ATtinys und kleine ATmegas
Wie in einem früheren Blogbeitrag erwähnt, sind Hardware-Debugger die Königs-Klasse der eingebetteten Debugging-Werkzeuge. Bis heute gab es jedoch nur sehr wenige, relativ teure Tools für die debugWIRE-Schnittstelle, die von den klassischen ATtinys und einigen ATmega-MCUs verwendet wird.
Die gute Nachricht ist, dass man jetzt einen Arduino Uno, Nano oder Pro Mini in einen debugWIRE-Hardware-Debugger verwandeln kann, der mit avr-gdb
, der AVR-Version des GNU-Projektdebuggers, kommunizieren kann.
Überraschung, Überraschung!
Das Titelbild dieses Beitrags ist von Albert Guillaume – Gils Blas, 24 décembre 1895, Public Domain, Link
Wenn man ein Werkzeug für ein Protokoll entwickelt, das undokumentiert ist, ist es nicht verwunderlich, dass man auf überraschende Situationen stößt. Und genau das habe ich bei der Entwicklung des Hardware-Debuggers dw-link erlebt, der debugWIRE-MCUs mit dem GDB-Debugger verbindet. Obwohl ein wesentlicher Teil des debugWIRE-Protokolls rekonstruiert wurde, habe ich einige überraschende Phänomene beobachtet: MCUs mit gespaltener Persönlichkeit, Stuck-at-One-Bits in Programmzählern, halblegale Opcodes und mehr.
Weiter lesenDebuggen eines Debuggers mit sich selbst
Das vorgestellte Bild dieses Beitrags ist ein Comic aus xkcd.com.
Der obige xkcd-Comic mit dem Titel Debugger spielt auf das Problem an, dass man bei der Anwendung einer bestimmten Methode auf sich selbst möglicherweise nicht das bekommt, wonach man gefragt hat. Turings Halteproblem ist ein bekanntes Beispiel dafür: Man kann algorithmisch nicht entscheiden, ob ein Algorithmus auf einer gegebenen Eingabe terminiert. Haben wir dieses Problem auch bei Debuggern? Insbesondere habe ich mich gefragt, ob es sinnvoll ist, den Hardware-Debugger, den ich entwickle, mit sich selbst zu debuggen.
Weiter lesenEine einzige Verbindung
Das Titelbild dieses Beitrags ist von Vladimir163rus auf Pixabay.
Eine neue Arduino-Bibliothek hat das Licht der Welt erblickt: SingleWireSerial
. Sie unterstützt einadrige asynchrone serielle Halbduplex-Kommunikation. Durch die Verwendung der Eingangserfassungsfunktion der AVR-MCUs ist sie extrem genau und unterstützt Bitraten von bis zu 250 kbps. Und konträr zum Titel kann man sie auch für Zweidraht-Verbindungen verwenden.