I replaced the special characters ( except the ”!” ) with the HTML entities in this URL, to make it compatible for Dokuwiki: ”[” → %5B, ”]” → %5D, ”,” - %2C, ”:” → %3A ).
The free IDE Atmel AVR Studio for WinXP, Vista, Win7 and .NET 4.0, made with Visual Studio Shell (Isolated mode) 2010.
Atmel Gallery - “With Atmel Gallery, getting the tool or software library you need has never been easier. Download and instantly extend the Atmel Studio environment”.
Since 2014-10, you have to install a new(er) “AtmelUSBInstaller” prior to “Atmel Studio 6.2”. The shipped “AtmelUSBInstaller” does not install due to certification & date problems.
The free Atmel Corporation "FLIP", a Java application for Linux and Windows - “Supports in-system programming of flash devices through RS232, USB or CAN”.
The setup information file “avr.inf” - A “Windows 2000, XP & Vista setup File for AVR CDC Device”.
If you do your homework successfully, you may get a $99 coupon for buying in the Atmel Store . The assignment is about making a profiling application for the lightsensor, using the display.
Sensor Xplained Demonstration Projects - The free “Atmel Data Visualizer” for Windows hosts running WinXP, Vista, Win7 with .NET 4.0, to be used with “Sensor Xplained” demonstration projects.
For development of electrical motor-based embedded applicatons.
Atmel ATAVRMC323 - “The MC323 kit is a complete hardware system which demonstrates motor control using the high performance ATxmega128A1. The kit includes a MC300 power board and a MC303 processor board. It also includes a Brushless DC motor and a USB cable for PC interface” ( but no CAN and no LIN interface ).
The place for the JTAG interface on the circuit board is empty, i.e. there is no female JTAG connector mounted.
The extra device box “XMEGA Casing (white)” has no hole for the male JTAG interface connector and the JTAG cable. In fact, with mounted curved female JTAG connector, IMHO the board will not fit into the box.
Vendor Reichelt Elektronik → Search for “2xXXpol. Stiftleiste, gewinkelt” or “2xXXpol. Stiftleiste, gerade”, while XX = 10, 13,.. ( you need XX=5 ).
The boxed device is not intended for mobile use, as there is no spare space for a battery.
OLIMEX Ltd. "OPEN SOURCE PROJECTS FAN PAGE" - “If you have new project idea and you can implement it with some of our boards let us know and if we find your project interesting we will send you the board free of charge”.
The free “Atmel Emulator and Evaluation Board (all models) setup instruction, schematics, and sample code”.
The hardware product “Ethernet to Serial Module XEET01” - “Engineered for bridging serial communication to the Ethernet network. Specifically designed for interfacing with microprocessor as web enabled electronic device via serial interface. I/O pins are TTL and CMOS”.
The free “Ethernet to serial configuration utility” for Win98, W2k, WinXP.
“This simple example shows how to use the gfx_mono_screen_dump for dumping the LCD screen in XPM file format trough the USART”.
“All AVR devices with a USART can be used. There is no need for the physical LCD to be present to use this function. As this function will only rely on a framebuffer. If using the ST7565R LCD in serial mode a local framebuffer will always be created due to that one can not read data back from the LCD”.
The free AVR Software Framework, AVR Software Framework ( ASF ) - “Provides software drivers and libraries to build applications for Atmel AVR XMEGA and AVR UC3 devices... It can easily integrate into an operating system (OS) or run as a stand-alone product. It is included in AVR Studio 5”.
I was told, that just the ASF components “wireless” and “QTouch” make use of compilied libraries. Most other components of ASDF are supplied as source code.
For each development tool ( e.g. C/C++ compiler ), you need to get proper files ( e.g. C/C++ header files ) that support the ATxmega for the compiler you plan to use.
For each C/C++ application you develop, you have to use the right C/C++ header files, and use the right SFrs/bitnames of the really-existing onchip peripherals of the real target in your source code files.
Additionally, the developer must instruct the compiler to generate code exactly for the specific CPU, by setting the appropriate compiler switch. See AVR Libc "Using the GNU tools".
For example, old AVRs and some AVRtiny don't have a MULtiplication unit. So for these targets,the C compiler has to do shifts+adds to multiply, instead of using the MUL instruction.
The device has an ID number, which is printed on a label glued on the device box. An installed Windows driver is dedicated for a single device ID. I.e. you can control several different devices from one Windows host, by connecting several devices to one host and installing a Windows driver for each device. The little drawback: If you have 2 devices and want to connect the one device instead of the other one to the Windows host, you must reinstall the Windows driver.
You don´t need the device for uploading and running a software ( this might be done by the USB connection by FLIP if you install an USBF DFU bootloader ), you just need it for debugging with Atmel Studio 5.
On the other hand, if you debug your software using JTAGICE3, you don´t use FLIP to upload the code, but you overwrite the Flash memory by JTAGICE3 and so an installed bootloader. As an installed bootloader is mandatory for the use of FLIP, serious use of FLIP during the debugging phase of the development of a software is not intended.
Atmel staff members told me inofficially, that a free ( command line ) untility to work with the tool on Windows is under development.
EN.Wikipedia "Atmel AVR" - “The Dragon also allows debugging of all AVRs via JTAG or DebugWire; a previous limitation to devices with 32 kB or less program memory has been removed in AVRstudio 4.18”.
The OpenSource SourceForge "AVaRICE", SourceForge "AVaRICE" for Windows and Linux - “AVaRICE is a program which interfaces the GNU Debugger GDB with the Atmel AVR JTAG ICE”.
It provides a link from the Atmel tools to gdb and then on top of gdb you can run all the usual debugging GUIs: Eclipse, Netbeans, Code::Blocks, ddd...
The free Atmel Corporation "FLIP" a Java application for Linux and Windows - “Supports in-system programming of flash devices through RS232, USB or CAN”.
The base for On-Chip Debug ( OCD ) and In-System-Programming ( ISP ) / In Circuit Serial Programming ( ICSP ) of Atmel CPUs with JTAGICE3 are 3 protocols:
JTAG debugging for all Atmel CPUs with JTAG interface ( of course just if the JTAG interface is made available on the printed ciruit board, so not on Arduino Mega2560 ), like ATxmega, ATmega640/V, ATmega1280/V, ATmega1281/V, ATmega2560/V, ATmega2561/V.
Programming & Debugging.
Program and Debug Interface ( PDI ) for ATxmega, AT90USB1287, Atmel Xplain evaluation boards, all Atmel chips with USART module.
EN.Wikipedia "PDI" → “Program and Debug Interface, an Atmel proprietary interface for external programming and on-chip debugging of computing devices”.
In opposite to the development tools of other chip manufacturers,
Atmel's development system “AVR Studio” ( the IDE ) is free.
“AVR Studio” may use the OpenSource compiler SourceForge "WinAVR" as standard compiler, and not a proprietary own tool.. So with this compiler, there is no artifical “code size limit”, neither for 8-bit nor for 32-bit.
Sample projects are in the AVR Studio 4 folder “C:\Program Files\Atmel\AVR_Tools\AVR Toolchain\doc\avr-libc\examples” #.
Sample projects are in the AVR Studio 5 folder “C:\Program Files\Atmel\AVR Studio 5.0\AVR Toolchain\doc\avr-libc\examples” #.
You can select the target at the project properties. So for CPU emulation without target hardware, open a project, select “Project” / ”<projectname> Properties” at the menu bar. View the menu card “Debugging” and set “Selected debugger” to “AVR Simulator”.
Sample projects for “Atmel AVR XMEGA Xplained Kit” ( with ATxmega128A1 ) or “Atmel AVR XMEGA-A3BU Xplained kit” ( with ATxmega256A3BU ) → “File / New / Example Project”, “Show Projects = 'AVR XMEGA, 8-bit”. The documentation is just available online, not on the local PC on which AVR Studio 5 is installed. The documentation of each project includes a dependency graph ( EN.Wikipedia "Dependency graph" ) of the source files ( probably made with the OpenSource Graphviz ).
At AVR Studio 5, “Tools / Extension Manager / Online Gallery” You can install some additional tools. Online download and offline installation is not possible.
Alternatively, you might configure the AVRGCC C compiler front end to compile C++ code, set “Project / Properties / Toolchain / AVR GNU C Compiler / Miscellaneous / other flags” to ”-x c++ -std=gnu++98”.
Alternatively, you might use an external makefile, at “Project / Properties / Build /” by setting ”[x] Use External Makefile”. By this, you might integrate third-party tools like a MISRA-C checker.
The free “Visual Assist X for AVR Studio” - Read, write, navigate, and refactor code FAST with more than 50 productivity boosting features.
The free HAPSIM - Helmi's AVR Periphery Simulator - “LCD (HD44780U), Terminal (USART and TWI), LEDs, Push-Buttons and Keypad Simulator Extension for the AVR Simulator of Atmel's AVR Studio 4”.
The free IDE Advanced Micro Tools "VMLAB" for Windows - “VMLAB: hardware and software together. It is a new concept in the microcontrollers tools: a virtual prototyping IDE”.
The OpenSource SourceForge "WinAVR", SourceForge "WinAVR" for Windows - “A suite of executable, open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. Includes the GNU GCC compiler for C and C++”.
Suggestion by experts: Do not use Synaptic Package Manager on Ubuntu Linux or similar tools with other Linux distributions, as there you might get outdated packages !
The free macro AVR assembler “AVRASM” by ATMEL Corporation ( avrasm2.exe - the new assembler, avrasm32.exe - the old assembler ), shipped with Atmel Studio 4 & Atmel Studio 5 in addition to the AVR toolchain. These assemblers are no linking assembler, i.e. the output can´t be linked with object files created by the C compiler or another run of the assembler.
The free AVR Software Framework ( ASF ) for Atmel AVR microcontrollers is shipped with a “Test Suite” ( “asf / common / utils / unit_test” ) . It provides the macros “test_fail”, “test_assert_true”, “test_assert_false” for use as assertion calls.
The free Standard release of AVRco - Code size limited to 4 kBytes Flash.
The free Mega8/Meg88 release of AVRco - Code size limited to 8 kBytes Flash AND Mega8/88.
In general, there is support for all ATTiny, ATmega and now for all ATxmega, too. The CPU description is based on ”.DSC” files, not on ”.H” files. The compiler loads the requested file after the instruction “Device = XMegaxxx”. At this moment the compiler knows all relevant facts of the CPU. For example, if you try to load an USB driver in your software, though the targeted ATxmega has no USB onboard, a compiler error is generated. So if you should have a brand-new CPU once, look for if there is already a proper ”.DSC” file in the directory “C:\Program Files\AVRco\AVRco”.
The compiler is bundled with hardware, which works as a dongle: An included InCircuit Programmer + JTAG Debugger ISP3.
The debugger doesn't and won`t support debugWIRE. It supports:
ATmega CPUs with JTAG and up to 128K Flash.
ATxmega CPUs.
The next generation of InCircuit Programmers + JTAG Debuggers of this company will support the use of the PDI interface for debugging, with ATxmega CPUs.
The free “KickStart edition of IAR Embedded Workbench”.
It has a 4 KBytes code size limitation.
It does (normally) not include source code for runtime libraries.
It does not include support for MISRA C.
An AVR assembler is included . There is the rumour, that the size limit of the Kickstart edition is a size limit of the C compiler, not of the assembler ?!
By the C-Spy tool, hardware debugging is supported with many AVR hardware debuggers, including JTAGICE3.
The compiler supports inline assembly code and calling functions written in assembly.
You can access the C global volatile variables from assembler.
If you want to use a whole module written in assembly, you must create a .C file that contains all the assembly code enclosed between: #asm .. #endasm.
CodeVisionAVR V2.05.3a ( and newer ) fully supports the ATxmega chips.
CVAVR creates a .COF object file that can be opened in AVR Studio and source level debugged using JTAGICE or AVRONE.
A built-in CodeWizardAVR Automatic Program Generator allows you to write in a matter of minutes all the code needed for implementing many frequently needed functions.
For source code debugging with Atmel hardware debuggers by JTAG or debugWIRE, please load the project into Atmel AVR Studio and do it there ( “Support for COFF debugging with AVR Studio” ).
ICCV8 Advanced: “Support for 128K bytes and 256K bytes MegaAVRs”, “MISRA safety checks for more robust code” .
MCS Electronics "BASCOM-AVR" - Specifications & features. “BASCOM-AVR is the original Windows BASIC COMPILER for the AVR family. It is designed to run on W95/W98/NT/W2000, XP and Vista”.
BASCOM-AVR Help "ATXMEGA" - “The power of the AVR is/was the the linear memory architecture. In the Xmega this has been changed : the registers are placed into a separate address space”.
The BASCOM-AVR demo version is limited to 4KB of code. As the demo version is older than the current commercial version, it does not support ATxmega ( as of 2011-09-16 ).
Each CPU supported by BASCOM has its own ”.DAT” file ( e.g. ATmega88 = m88def.dat, ATmega88P = m88pdef.dat ). In the full version of Bascom AVR there is the file history.txt with a short description of the changes made to the compiler and new supported chips are always listed.
Even if there is such a definition file, some CPU functions / modules might not be supported by BASCOM ( e.g. the CAN function / module is not supported by BASCOM ). But you can always use the registers yourself direct to use these kind of functions.
As at this moment ( 2011-09-16 ) there is no explicite “ATxmega256A3BU” support, have a try with “ATxmega256A3B” = xm192D3def.dat for use with the “Atmel AVR XMEGA-A3BU Xplained kit”.
“An add-on library to BASCOM-AVR, which provides DOS-functionality to your embedded ATMEL AVR-Controller application”.
“BASCOM-AVR comes with the compiled AVR-DOS library. You can use AVR-DOS free for non commercial use or test it. If you want to use AVR-DOS in commercial applications or you are interested in the source code for your personnel use, there are two different licenses available”.
Visual TFT - “A standalone application used for rapid development of graphical user interfaces for TFT displays. Software generates code compatible with mikroElektronika compilers: mikroC, mikroBasic and mikroPascal, for all suported MCU architectures: PIC, dsPIC30/33, PIC24, PIC32 and AVR”.
If you select the card “Specification” in the middle of the product pages, the section “Supported microcontrollers. Choose your MCU” names the supported CPUs ( ATxmega256A3B is supported, as of 2011-09-16 ).
You can set mikroC/Basic/Pascal compiler for AVR to generate COF file and use this COF file for hardware debugging with AVR Hardware Debugger.
The Shareware Atman Electronics "AtmanAvr" for Windows - - “IDE of C/C++ Compiler AVRGCC”. 30 days evaluation timeout.
“The Code Wizard is like a programmer's assistant: it makes it easier for you to do certain routine tasks such as 1) creating new modules, 2) adding or deleting interrupt functions, and 3) seeing which modules or interrupt handlers are already defined and jumping to the handler program code”.
Application note “AVR280: USB Host CDC Demonstration on megaAVR with USB”.
AVR-PRAXis "XMEGA-A1-USB" - “Das Mikrocontroller-Modul XMEGA-A1-USB nutzt als USB2.0-Interface Silab USB-USART-Bridge CP2102. Das USART-Interface des CP2102 (RXD/TXD) ist mit USART0 ORTF des ATxmega verbunden. Auf der PC-Seite nutzt man entweder den virtuellen COM-Port (VCP, ProductID PID EA60 ist voreingestellt) oder den direkten USB-Treiber USBxpress (ProductID PID EA61, kann mit einem Tool von Silab eingestellt werden, welches im Development-Kit von Silab enthalten ist, siehe unten Medien/Links). Das Mikrocontroller-Modul lässt sich zum Beispiel sehr gut für eine Übertragungsrate von 250.000bps konfigurieren (USBxpress Treiber genutzt)”.
The Setup information files “lowcdc.inf” and “avr.inf” are shipped with Osamu Tamura @ Recursion Co., Ltd. "AVR-CDC". The installation of one of these files enables Windows to load Windows's pre-installed driver “usbser.sys”, which performs virtual COM ports over the CDC protocol.