AVRStudio is the development software for AVR microcontrollers supplied by Atmel to allow users to easily develop code for their devices. It includes project management, code editors, assembler and C compilers, simulator and programmer and emulator support. It has been developed over the years and has reached AVRStudio v7.1 but older versions are available, so which version is the best for you?
AVRStudio was pretty buggy to start with but settled down with AVRStudio 4. This was the standard software for many years and slowly got better until AVRStudio 4.19, which is the last release. Atmel then scrapped this platform and joined the bloat-ware revolution with a brand new AVRStudio 5. This was quickly replaced by AtmelStudio 6 as 5 was full of bugs. The latest offering is AtmelStudio 7, which is similar to 6.
AVRStudio 5, 6 and 7 all use Microsoft net framework and other Microsoft platforms with the result that they are HUGE – 500 to 750MB and take ages to download and install. The environment is very nice, with lots (and lots) of features to help organise code including “solutions” instead of workspaces, links to social media and much more.
However, all these amazing features come at a price! You need a very fast PC, preferably quad core, with several Gigabytes of RAM or it will run like a pig. On slower computers, like older laptops and dual cores, just having it installed can stall the whole PC so it is not the best solution if you have an old computer.
For MAC users, Studio can be run in a in a virtual Machine, such as Parallels. Studio 6 and 7 will run but the performance is too lousy to allow you to work properly. With Studio 4, the performance is good enough, even on a virtual OS.
One thing Atmel did do right was to allow you to import older AVRStudio 4 projects as there are lots of older projects available in training kits and on the web. Just use File->Import->AVR Studio 4 Project…
What about AVRStudio 4? This is still the best solution unless you have a super fast PC but Atmel caused a major problem when they finished version 4. They took the last released stable version v4.18 and the last service pack SP3 and combined them into a final release, AVRStudio 4.19. Unfortunately, they managed to create a bug in the process that has never been fixed.
This bug means that new projects do not setup the WinAVR C toolchain – existing or sample projects will be fine but new ones give a compile error, like vr-objcopy: ‘Filename.elf’: No such file.
The solution is to add the toolchain manually like this:
Go to Project -> Configuration Options -> Custom Options.
Untick the “Use AVR toolchain” box and set the paths to:
This is a project based setting so you need to do this every time you create a new project! If you create lots of projects, you might be better off reverting to AVR Studio 4.18 (build 684) and AVR Studio 4.18 SP3 (build716). These are available on this page, along with many other AVRStudio versions,
Uninstall AVRStudio 4.19, install v4.18 and then SP3.
What about tool support in different versions? Most tools, including Kanda AVRISP programmers, AVRISP mkII programmer, AVRDragon and JTAGICE mkII programmer and emulators will work in all versions of AVRStudio. But the lowest cost emulator JTAGICE is not supported in version 5, 6 or 7, so you need AVRStudio 4 to take advantage of this low cost unit.
Atmel are not alone in this rush towards development environments that need massive resources to run properly. Microchip have introduced MPLAB X for the PIC to replace MPLAB 8 and this also uses Microsoft platforms to create a monster program. You wonder if the developers of these environments have forgotten about students with old laptops, people with bad Internet connections or engineers in developing countries who can’t afford the latest PCs.
In conclusion, AVRStudio 5 is rubbish and should be avoided, AtmelStudio 7 is great if you have a very new PC with lots of resources and AVRStudio 4 is still a very good program and perfectly suited to developing AVR projects in C or assembler, especially AVRStudio 4.18, SP3. It would be easier for many users if Atmel could be bothered to fix v4.19 to eliminate the tool chain bug.