Kanda produces several tiers of standalone AVR programmers designed to bypass the need for a PC or complex development environment (like Microchip Studio) during deployment. They are heavily utilised for factory production lines, field service updates, and distribution to end-users.
Continue reading “Kanda AVR Standalone Programmer Choices” »ELF Files Explained Part 4

ELF Files Explained – Part 4: Programming AVR Microcontrollers Using ELF Production Files
Part 4 of the "ELF Files Explained" Series
In Part 3, we explored the AVR ELF Production File in detail, showing that it is far more than simply the executable output of the linker. Rather than containing only the application's machine code, an AVR ELF Production File describes the firmware project in its entirety, bringing together executable code, debugging information and — where appropriate — EEPROM data, fuse settings, lock bits and other device-specific information within a single structured file.
This naturally leads to an important question. If the ELF Production File already contains everything required to describe the finished firmware, why do so many AVR developers still think in terms of programming Intel HEX files? When discussing a new firmware release, it is still common to hear someone ask for "the HEX file", even though the build process itself produces an ELF first.
The answer lies not in the capabilities of the AVR toolchain, but in the history of embedded development.
ELF Files Explained Part 3

ELF Files Explained – Part 3: AVR ELF Production Files – The Complete Firmware Image
Part 3 of the "ELF Files Explained" Series
In Part 1, we explored the history of executable file formats and saw how ELF became the industry standard for modern operating systems and GCC-based development toolchains. In Part 2, we looked inside the format itself, examining the headers, sections, symbol tables and debugging information that let compilers, linkers and debuggers work together using a common file format.
Understanding the internal structure of an ELF file is valuable, but it naturally leads to another question: what does all of this mean for an embedded firmware project?
In this article, we turn to AVR development and examine the AVR ELF Production File generated by Atmel Studio and the AVR-GCC toolchain. We will see how it becomes the definitive output of the build process, bringing together executable code, EEPROM data, fuse settings, lock bits, User Signature memory and debugging information into a single engineering artefact that represents the complete firmware project.
ELF Files Explained Part 2

ELF Files Explained – Part 2: Inside the ELF Format – Headers, Sections, Symbols and Debug Information
Part 2 of the "ELF Files Explained" Series
In Part 1, we explored the history of executable file formats and the evolution from early UNIX formats such as a.out and COFF to the Executable and Linkable Format. We also saw how ELF became the standard executable format for Linux and a fundamental component of modern embedded development toolchains.
In this article, we move beyond that historical perspective and begin examining the internal structure of an ELF file. Rather than treating it as an opaque binary, we will break it down into its major components and see how linkers, loaders and debuggers each interpret the information it contains.
ELF Files Explained Part 1

ELF Files Explained – Part 1: History and Fundamentals
Part 1 of the “ELF Files Explained” Series
Every software developer has encountered executable files, yet relatively few stop to consider the file format that makes them possible. Whether you are developing applications for Linux, writing firmware for an embedded microcontroller, or debugging software using GCC-based tools, there is a good chance an ELF file is being created somewhere in the build process.
Despite its widespread use, the Executable and Linkable Format (ELF) is often treated as a black box. Most developers know that the compiler produces one, the debugger loads one, and the embedded programmer may ultimately generate a HEX file from one — but the format itself remains largely invisible. Understanding what an ELF file is, and why it was designed the way it was, provides valuable insight into how modern software development tools work together.
This first article looks at the origins of executable file formats, tracing the evolution from early UNIX formats such as a.out and COFF to the development of ELF. We will also see how ELF grew beyond its UNIX roots to become the standard executable format for Linux and an essential component of modern embedded development toolchains.
CAN Bus Explained Part 3
CAN BUS EXPLAINED
Part 3: CAN FD, Network Design and Debugging
CAN Bus Explained Part 2
CAN BUS EXPLAINED
Part 2: Frames, Arbitration and Fault Tolerance
CAN Bus Explained Part 1
CAN BUS EXPLAINED
Part 1: Origins, Architecture and Differential Signalling
UPDI Explained: The Complete Guide to Programming and Debugging Modern AVR Microcontrollers
UPDI Explained: The Complete Guide to Programming and Debugging Modern AVR Microcontrollers
A comprehensive guide to the Unified Program and Debug Interface (UPDI), including architecture, signalling, security, memory programming, debugging, recovery techniques and programmers.
PIC Standalone Programmer
Kanda have been producing different standalone programmers for PIC microcontrollers for over 25 years and they are popular all over the world. All Kanda programmers are robust and the main feature is ease of use.
Continue reading “PIC Standalone Programmer” »