Unused bits in a program counter should be zero. However, sometimes they are not. And in fact, since the bits are unused, their value does not matter, as long as nobody from the outside, such as a debugger, reads them. So, can this cause problems for AVR microcontrollers?
Continue readingTag: ATmega48
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