AVRStudio Explored

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.2 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:

avr-gcc: C:\WinAVR-20100110\bin\avr-gcc.exe
make: C:\WinAVR-20100110\utils\bin\make.exe

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,

AVRStudio Archive

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.

Related Information

AVRISP-MKII Programmer for AVRStudio

AVR DRAGON ICE for AVRStudio

21 thoughts on “AVRStudio Explored”

  1. Thanks for the information. I just updated my laptop to Windows 8.1 and boy am I sorry. I hate Studio 6 and I hate Win8 even more. Now Studio 4.18 crashes all over the place. It appears the UAC is a primary issue and upon entry into the debugger the hole studio fails. I’m trying VMWare Player in an attempt to get my beloved 4.18 back.

  2. If one uses the latest avr-gcc toolchain available from Atmel, then AVR Studio 4 crashes when trying to load the .elf file. To fix this change the debug flags for avr-gcc to \”-gdwarf-2 -gstrict-dwarf\”. Then one can load and debug programs under AVR Studio 4 as normal.

  3. hey there im using winavr tool chain with 4.19 AVR studio. I added the tool chain way you tell it. but even after that im getting an error message when comes to making a .elf filecan you please please help?

    1. It may be the paths are wrong for the version of WinAVR you are using and it still can’t find compiler and make file. Check the install path to WinAVR on your PC is C:\WinAVR-20100110 and not a different version number.nnWhat error message exactly are you getting?

  4. Can the chip ATMEGA8535 be replaced by ATMEGA16?ATMEGA8535 is pin cmpiatoble with Atmega16 but has less features.main differences are that ATMEGA8535 has 8k flash, 512b RAM, 512b EEPROM while ATMEGA16 has 16k flash, 1k RAM, 512b EEPROM. Atmega16 has different boot-loader area where page size is 64 words instead of 16. No read write section starts at 0x1C00 instead of 0xC00.Interrupt vectors uses 2byte addresses instead of 1. They have two different fuse bits I think this shouldn’t affect.According to this I would say that probably moving from Atmega8535 to Atmega16 should work.Read more about commutability

    1. ATmega8535 is much older and hasn’t got on-chip debug so it can’t be emulated with ICE tools like AVR Dragon. ATmega8535 projects can be easily modified to work with ATmega16 as fuses are very similar. C projects might give grief with ISR names but they are easy to change and as you say ISR table in assembler needs slight modification. ATmega16 are also cheaper.

    1. Not really. You could use a commandline version of avrasm assembler or GCC compiler with an external editor but you lose all the benefits of an integrated development environment just to get a slightly better editor. After all, AVRStudio was developed to integrate all the tools in one platform so you would be going backwards. I suppose you could write the code in another editor and paste it in but it seems a lot of effort for not much gain.

      I find the editor in AVRStudio is ok, with syntax highlighting and reasonable tabbing – what do you find so bad about it?

      1. 1. No auto indent/auto unindent after ‘{‘, ‘}’, ‘for, while etc.
        2. No ‘Match Braces’ what is absolutely necessary
        3. Highlighting looks ugly (compare to ConTEXT for the example)
        4. No line numbering
        5. Not configurable (just a few options)

        1. The post was about AVRStudio. It does have weaknesses as you describe but it is free. WinAVR C compiler is also not as good as IAR but you get what you pay for. You could use the AVR plugin for Eclipse if you prefer.

  5. I need to use AVR studio with an ATtiny 441 , but my current Studio 4 does not have it listed, is there a way to add it to Studio 4 or do I have to upgrade to Studio 6? ….but then I can’t use my Jtag ICE clone for other AVR devices….I suppose I COULD install both AVR Studio 4 AND 6 on one PC? ….

    1. I do have both AVRStudio 4.19 and AtmelStudio6 on my PC and they don’t interfere with each other, so I can use both. Version 6 takes ages to load so I still use version 4 most of the time. The ATtiny441 isn’t even supported in the last release of 6.1 and you need to download a package to add it to Studio 6, ATtiny441-841 Package for Studio 6.1.

      As they haven’t even managed to add these devices to Studio 6 properly, I can’t see them adding it to AVRStudio 4 any time soon.

  6. Just spent 2 days trying to install ver 7 and that was after 4 days of trying to get Win 10 to work on my ‘new’ laptop. Needless to say that what ever I could get to run was still far slower than my old XP and Studio4.

    Thank goodness for Mac reflect. It images my drive (and it includes Ubuntu) and I now do this before I install any new software. That way if it crashes I can recover in 10 minutes. It will work on a WD Passport external drive.

    Bottom line is I have reverted to Win7 and AVRStudio 4 for the new laptop.

    I too had problems with 19 so I stuck with 18.

    As time goes on, Ubuntu is looking better and better.

    Wallace

    1. Apart from some new device support, I can’t see the point of Atmel Studio 7 or solutions etc. Bloatware is all it is.

Leave a Reply

Your email address will not be published. Required fields are marked *