stevenj / avr-libc3

A Fork of AVR-LIBC V2.0 from https://www.nongnu.org/avr-libc/
Other
33 stars 16 forks source link

Add support for AVR Dx-series, megaAVR 0-series, tinyAVR 2-series #10

Open SpenceKonde opened 3 years ago

SpenceKonde commented 3 years ago

And here we were all worried that Microchip was going to let AVR languish, and was just doing a capture -> woodshed sorta thing to take out a PIC competitor...

Microchip's AVR team has apparently been slaving away on some mindblowing new parts.

ATtiny162x datasheet is out, silicon in november I've been seeing. The ADC is not only 12-bit, but absolutely on another level (plus a normal assortment of tweaks to what peripherals they have and how many, but no seizemic changes to architecture from the 1-series, other than no TCD, but yes external HF crystal).

AVRxxDAyy (where xx is flash size, 32/64/128, and yy is number of pins, 28. 32, 48, or 64) is shipping and baller, though the errata on the initial silicon is a a bit of a kick below the belt (and their errata sheet is incomplete), AVRxxDByy is shipping in 128K version, but availability is still really spotty., haven't been able to score anything other than the 28-pin version; the others seem to mostly be available only in tray quantities, and very limited supply, and distributors don't have any at all) - basically identical to the DA, except that it supports external HF crystal, has 2/3 on-chip opamps (yes, you read that right) with software controlled mux on input and even a feedback resistor network), and (unless you disable via fuses), PORTC is in a separate power domain (in effect, a builtin level shifter, ie, you can have the chip running at 3.3v, and PORTC running at 5. Or the other way around - REALLY neat feature), powered by that pin in the middle of PORTC (28/32-pin parts lose PD0 and get the VDDIO2 pin in place of it). Their errata sheets imply that there are already two versions of silicon shipping, and the first version has a 3mV offset bug in the ADC, second doesn't - my theory is that they had too many chips built by the time they realized that to dump them, and they really needed to get them into the hands of developers for friendly customers anyway, but they don't want everyone and their mom to start playing with them until they can give us silicon that works better. I mean, a chip with special analog-specific features like them opamps and a 12 bit ADC but a 3mV offset... it's kind of a bad look, you know? Finally, the AVRxxDDyy product brief is out now, too - 16/32/64k flash, 14/20/28/32 pins, external xtal, MVIO, on 3/4 pins..

Oh, and there's an AVRxxEAyy coming too - 28/32/48 pins, 16/32/64k flash. mostly seems least interesting of these parts, except for the fact that they have two TCAs and 4 TCBs on all of them (no TCD or MVIO, though). So if this library is still being maintained, there's some serious work to do ;-)

If I had to guess, I'd reckon that they're trying to replace the whole AVR product line for new product development, and exile the classic AVRs into the wilderness of "not for new designs".

Very exciting times for the AVR architecture, for sure. Real stroke of luck that the first excitement for the AVR instruction set in ~4 years started dropping it did - I don't know what I'd be doing with myself if I didn't have 20 new parts to add Arduino support for with 3 months left to go in the year...

leventelist commented 5 months ago

Is this available now? I mean does avr-libc support AVRxxDDyy devices now?