Link-time optimization (LTO) is a very powerful compiler-optimization technique. As I noticed, it does not go very well together with debugging object-oriented programs under GCC, at least for AVR MCUs. I noticed that in the context of debugging an Arduino program, and it took me quite a while to figure out that LTO is the culprit.
Continue readingTag: Arduino IDE
Debugging(3): Debugging is Like Being the Detective in a Crime Movie Where You are Also the Murderer
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.
Unfreeze Your Atmel-ICE

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 …