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
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
The featured image of this post is based on a picture by Here and now, unfortunately, ends my journey on Pixabay on Pixabay
… to screw in a lightbulb? The correct answer to this question is: “None, this is a hardware problem!” But then: This is not the right question! The right question is: “How many ISP programmers do you need to burn a program into flash memory?”Continue reading
One has to add to the title (quoted from a tweet by Filipe Fortes) that the detective suffers from memory loss. Otherwise, the case could be solved easily. Similarly, with debugging: If I only knew what nasty things I have hidden in the source code, I could just remove them – but I simply do not know. In this blog post, we will have a look at what kind of tools one could use to find the skeletons hidden in the closet.
Avrdude is the workhorse for programming AVR chips from Atmel (now Microchip). It works flawlessly on all platforms with a huge number of different programmers. There are a few exceptions, though. The Atmel-ICE, a very decent programmer and debugger, could not be used under macOS (>10.13). But finally there seems to be light …