Was ist der Zweck des C++-Qualifizierers volatile
, was hat er mit Race-Conditions zu tun und was sind Heisenbugs?

Was ist der Zweck des C++-Qualifizierers volatile
, was hat er mit Race-Conditions zu tun und was sind Heisenbugs?
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 lesenDas Bild in diesem Blogpost stammt von rawpixel.com auf Freepik.
AVR MCUs scheinen manchmal neu zu starten, ohne dass du den RESET-Knopf gedrückt hast. Ist das ein Zeichen von Unverwüstlichkeit oder von drohender Gefahr? Und wie findet man die Ursache?
Weiter lesenDas 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.
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 lesenDasTitelbild 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-link kann ein Arduino-Board in einen Hardware-Debugger verwandeln und dw-probe verbindet es mit jedem Target-Chip.
Weiter lesenWie 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.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
Diese Zitat vom Vater der Programmiersprache C trifft den Nagel auf den Kopf und sollte speziell dann beachtet werden, wenn man mal wieder dabei ist, eine komplexe Implementation zu kreieren: Mach’s so einfach wie möglich!
Wenn etwas schiefgeht, ist es nicht immer die Schuld des Programmierers. Es könnte auch an der Hardware liegen (bzw. dem Elektroingenieur, der diese entworfen hat). Wenn man ein System als Bastler entwickelt, ist man aber meist beides: Der Elektroingenieur und der Programmierer (sodass man sich immer selbst die Schuld geben darf). In diesem Blogbeitrag werfen wir einen Blick auf einige der Dinge, die auf der Hardware-Seite schiefgehen können, speziell bei Projekten mit AVR-MCUs.
Copyright © 2025 Arduino-Bastelecke
Thema von Anders Noren — Hoch ↑