Have you ever wondered if you could use the AVR debug probe you found in your Grandpa’s spare parts box to debug your latest hardware project? Here comes the comprehensive list of AVR debug probes, which will answer such questions.
Continue readingTag: dw-link
SNAP: Debugging for the Masses
Microchip recently lowered the price for its hardware debugger SNAP from more than €50 to less than €20 €10. I have recently created the Python script dw-gdbserver for this and other hardware debuggers so that you can now use SNAP in the Arduino IDE 2 to debug classic ATtinys and small ATmegas. All in all, this is an affordable and care-free debugging solution for classic AVRs.
Arduino IDE 2 Meets dw-link
Debugging classic AVRs in the Arduino IDE 2 is finally possible! It took a while to implement this feature, but now it is just a piece of cake to enable debugging and start using the debugger.
Continue reading
Debugging 2.0
What keeps people from using a debugger? Well, it is mostly that one has initial costs in terms of setting up the debugging environment and of learning how to use the debugging tool. Hopefully, the next iteration of my hardware debugging tool dw-link, which is able to debug classic ATtinys and ATmegaX8s, will somewhat ease that burden, in particular, because you can buy the accompanying hardware now at Tindie.
Continue reading
Fixing Problems … Using Super-Global Variables
Another xkcd comic that hits the spot. Except, with my new hardware debugger, this is the past 😎. Recently, I debugged one of my electronic geocaching gadgets and was positively surprised how easy it was to figure out ones own mistakes and to come up with the right fix.
Continue reading
A debugWIRE Hardware Debugger for Less Than €10
Is it possible to build a hardware debugger for debugWIRE for less than €10? As it turns out, it is. You just have to make a few compromises and also do a bit of soldering and gluing.
Continue reading
dw-probe: The Hardware for the Hardware Debugger
dw-link can turn your Arduino board into a hardware debugger, and dw-probe connects it to any target board.
Continue reading
That’s One Small Step for a Man, One Giant Leap for a Debugger: On Single-Stepping and Interrupts
You want to make a single step in your program, but the debugger takes you to some unknown area of the program. This was, in fact, my first experience when I tried out Microchip’s MPLAB X IDE debugger on the innocent blinking sketch. Is this a bug or a feature?
Continue reading
dw-link: A New Hardware Debugger for ATtinys and Small ATmegas
As mentioned in an earlier blog post this year, hardware debuggers are the premier class of embedded debugging tools. However, until today, there were only very few relatively expensive tools around supporting the debugWIRE interface that is used by the classic ATtinys and a few ATmega MCUs.
The good news is that now you can turn an Arduino UNO, Nano, or Pro Mini into a debugWIRE hardware debugger that communicates with avr-gdb, the AVR version of the GNU project debugger.
Surprise, Surprise!
When you develop a tool for a protocol that is undocumented, it is not surprising that you will encounter situations you will not have be anticipated. This was exactly what I experienced developing the hardware debugger dw-link, which connects debugWIRE MCUs to the GDB debugger. Although a substantial part of the debugWIRE protocol has been reverse-engineered, I encountered plenty of surprising situations: Split personality MCUs, stuck-at-one bits in program counters, secret I/O addresses, half-legal opcodes, and more.
Continue reading