Category: Insight

Something you have not known before

ATmega328P: Fake or Real?

The featured image of this blog post is by PublicDomainPictures from Pixabay.

Recently, I bought some ATmega328P-PU (DIP packages) chips in China and was concerned that they might be counterfeit, given that three years ago some ATmega328P clones, which did not support nano-power, had been found on Pro Mini boards. The first check looked as if they were fake chips, but apparently, they are the real thing. but they seem to work fine.

Continue reading

Make it Fail

(David J. Agans)

The quote is from Dave’s book Debugging: the 9 indispensable rules for finding even the most elusive software and hardware problems, which I recommend to everybody who has to debug a technical artifact.

Surprise, Surprise!

The featured image of this post is by Albert Guillaume – Gils Blas, 24 d├ęcembre 1895, Public Domain, Link

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. And 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 still 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

Debugging a Debugger With Itself

The featured image of this post is is a comic from xkcd.com.

The above xkcd comic, which is titled Debugger, alludes to the concern that when you try to apply a particular method to itself, you might not get what you asked for. Turing’s Halting problem is a very famous example of this, i.e., you cannot algorithmically decide whether an algorithm terminates on an input. So, does that issue apply to debuggers as well? In particular, I asked myself whether it makes sense to debug the hardware debugger I am developing with itself.

Continue reading

Copyright © 2023 Arduino Craft Corner

Theme by Anders NorenUp ↑