Why would anybody downgrade a PICkit5 to a PICkit4 or a PICkit Basic to a MPLAB SNAP?
Continue reading
PyAvrOCD 1.0.0 released
What is PyAvrOCD? How do you use it? What are its strong points? Are there alternatives? Why did it take so long to come up with version 1.0.0? And how to pronounce it? These and other questions will be addressed in this blog post.
TL;DR PyAvrOCD can help you debug programs that run on classic AVR chips.
Continue reading
When Unused Program Counter Bits Go Rogue
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 such bits cause problems for AVR microcontrollers?
Continue reading
AVR TQFP-100/64 Test and Programming Sockets
When you are working with ATmegas in TQFP packages, one of the really helpful things is a test socket, as shown in the picture above.
Continue reading
A Comprehensive List of AVR Debug Probes
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 readingAs soon as we started programming, we found to our surprise that it wasn’t as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
(Maurice Wilkes, 1949, architect of one of the first stored-program computers)
Avoiding Mysterious, Silent Failures of Your Arduino Sketch: Push PROGMEM to the far end
Have you ever used an Arduino Mega 2560 (or a similar board) and, at some point in the development process, experienced the LED mysteriously stopping to blink, garbled text being printed, or funny artifacts appearing in pictures? And all that without any apparent reason or any error or warning message? If you want to know what is behind it and how to solve this problem, read on.
Continue reading
System View Descriptions of AVR MCUs
What is a system view description (SVD)? What can it be used for? And what is the connection to AVR microcontrollers?
Continue reading
Stop-and-Go
One typical debugging activity is setting breakpoints and then running the program from breakpoint to breakpoint, inspecting the program’s internal state at each breakpoint. While this sounds simple, it gets complicated when one looks behind the curtain, which we will do in this blog post.
Continue reading
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.