The Atmel AVR is a family of RISC microcontrollers from Atmel. The AVR architecture was conceived by two students at the Norwegian Institute of Technology (NTH) and further refined and developed at Atmel Norway, the Atmel daughter company founded by the two chip architects.
Unlike the PIC, the AVR instruction set is strictly orthogonal and compatible across models. The AVR was designed at the outset for efficient execution of compiled C code. Thus some instructions, such as 'add immediate
', are strangely missing (you have to 'subtract immediate
' the complement instead), while others, such as 'compare with carry
', are included.
The AVR is a Harvard architecture CPU. It has 32 8-bit registers. Some instructions only operate on a subset of these registers. Memory access is via Load/Store instructions. Unlike the PIC, the Stack is located in RAM and isn't strictly limited to a fixed size.
Like the PIC, it has a dedicated hobbyist following (exemplified by the AVRFreaks Internet forum), largely due to the existence of inexpensive/free development tools, for instance a port of the GNU GCC tools.
The acronym "AVR" has been reported/rumoured to stand for Advanced Virtual RISC and/or the initials of the two company founders—Alf Egil Bogen and Vegard Wollan—who for their part have chosen to let the matter rest unresolved, giving mostly shadowy answers when asked directly.
External links
- Atmel's AVR product page
- Atmel Norway
- AVRFreaks
- AVR Electronn Psychogenic Newbie Resource
- WinAVR development tools at Sourceforge – open source tool suite hosted on Microsoft Windows, and including GCC
- avrmon-stk200 – avr-gdb compatible GNU/Linux-based debug monitor system for connecting to Atmel's "STK200 Starter Kit"