Adafruit has updated its open source AVR programming library to give it a new skill: high-speed programming of target devices over UPDI, rather than SPI, running through a full erase-program-verify cycle in just two seconds.
"This may be helpful for folks using the latest ATtiny and ATmega chips that are programmed with 'synch uart' UPDI rather than 'SPI' AVR-ISP," Lady Ada explains. "We've updated our self-contained/standalone programming library to add UPDI support!"
Available in Microchip's latest AVR parts, the Unified Program and Debug Interface (UPDI) is a one-wire interface designed as an alternative to the In-System Programming (ISP) Serial Peripheral Interface (SPI) approach — and to the proprietary Program and Debug Interface (PDI).
Now, Adafruit's in-house programming library can use UPDI as well as AVR-ISP for programming — borrowing code from Bradan Lane's PortaProg project. "We can erase-program-verify an 8kB flash chip in two seconds," Fried says. "[It's] super fast, great for loading firmware in production."
The latest version of the AVR programming library is available on the Adafruit GitHub repository now, under the permissive MIT license — a shift from the project's earlier BSD license.