Kategorie: Hardware-Werkzeug

Hardware-Werkzeuge, die ich nutze und/oder baue

dw-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.

Weiter lesen

Ü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 lesen

Debuggen 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 lesen

Logisch!

Wenn Dinge schiefgehen, obwohl die Programmlogik korrekt zu sein scheint, ist es an der Zeit, die Signale zu untersuchen, die in die MCU reingehen und aus der MCU herauskommen. Das beste Werkzeug dafür ist ein Logikanalysator.

Weiter lesen

Wie viele Programmierer braucht man …?

Das Titelbild dieses Beitrags basiert auf einem Bild von Hier und Jetzt, leider endet meine Reise auf Pixabay auf Pixabay

… um eine Glühbirne einschrauben? Die richtige Antwort auf diese Frage lautet: „Keine, das ist ein Hardware-Problem!“ Aber: Das ist nicht die richtige Frage! Die richtige Frage lautet: „Wie viele ISP-Programmer braucht man, um ein Programm in den Flash-Speicher zu brennen?“

Weiter lesen

AVR-Fuses

Titelbild: Clker-Free-Vector-Images auf Pixabay

Eines der verwirrendsten Dinge, vor allem für Neulinge, sind die AVR-Fuses. Schlimmer noch, wenn man die falschen Fuse Bits setzt, kann man seine MCU „bricken“, d.h. die MCU in einen „Ziegelstein“ zu verwandeln, der zu nichts mehr zu gebrauchen ist. In diesem Blog-Beitrag werde ich Werkzeuge vorstellen, die helfen, die Fuse-Bits richtig zu setzen. Und wenn es hart auf hart kommt, d.h. die falschen Fuses gesetzt wurden, werde ich Möglichkeiten aufzeigen, mit denen man die MCUs wieder zum Leben erwecken kann.

Weiter lesen

Copyright © 2024 Arduino-Bastelecke

Thema von Anders NorenHoch ↑