A Review of Atmel Studio 7
A Review of Atmel Studio 7
New things excite me! Even if they aren’t relevant to what I’m working on, I can’t help taking a peek to see what they’re about, how they’ve improved, and what cleverness has been included in them. Perhaps you’re the same – you can’t wait to download the updated version of Android or iOS, or upgrade your favourite software tool when an update is released. Well, this month saw the release of an update to a tool that I (and probably you) use all the time – Atmel announced the release of Atmel Studio 7. Of course, I had to take a look to see how it was going to make my embedded life easier. If you’re as curious as I was, then this short review will give you a taste.
A Summary: Atmel Studio 7’s New Features
If you’re pushed for time, then here are the key features touted by Atmel:
- Updated IDE interface
- Improved and expanded help system
- Integrated Data Visualizer
- Ability to import Arduino sketches into Atmel Studio
- Atmel START – configure your ARM projects more easily
If that list seems a little short, then carry on reading for a more detailed look.
If you don’t have a decent broadband connection, then Atmel Studio 7 is going to take a while to download – it’s not small. These days, however, it’s unlikely that you’ll find any kind of fully-featured IDE that doesn’t stretch your internet connection. To try to limit the impact on you, Atmel have come up with a smarter installation process. You can either choose to download the full installation package, or you can use the Web Installer – this gives you the option to reduce total download time (and bloat) by only installing support for the platforms that you choose: AVR 8-bit, AVR 32-bit, or ARM. I chose this path, and downloaded the 2MB installer stub. First I chose the architectures I wanted to be able to develop for (AVR-8 and ARM), and then the extensions (Atmel Software Framework (ASF) and Example code).
Installation was painless, without additional dialog boxes asking for approval of driver installations – it just did its thing. I continued working during installation, which may have been why I needed to reboot. Total installation time was about 1.5 hrs on a slow South African internet connection.
Creating a New Project
The process for creating a new project is comfortingly (and disappointingly) exactly the same as in version 6.2. I guess there’s no reason to fix something that isn’t broken – and although I found the v6.2 project wizard worked perfectly, I secretly hoped that somebody found a way to do something more cleverly.
Wait – there is a new feature. You’re now able to import an Arduino sketch directly into Atmel Studio from the “New Project” dialog – I’ll take a look at that in a moment.
Editing a Project
The layout of the IDE’s editing window and toolbar are also familiar – still relying on the Visual Studio shell. There is a slight make-over of the icons on the toolbar, but nothing that really adds any functionality. Some of the menus have changes – a few new menu options here or there, or an occasional renamed item, but after a cursory glance these will really only impact users who live in their IDE everyday. If you don’t squeeze every last drop of usefulness and optimisation from Atmel Studio, it’s unlikely that you’ll benefit much from these small changes.
There were two issues that I did struggle with: the help files were not installed by default, so I had to manually download them from the help interface.
While I would have liked to have had the basic help files available immediately after installation, and grumbled about having to download them, I was pleased to see that there were a wide range of help files available, including the AVR-libc help files (AVR-libc is a collection of C libraries for use with the GCC toolchain).
My second problem was a little more challenging to overcome – the Visual Assist wasn’t working. Visual Assist is the tool that, among other features, pops up those useful little messages showing function definitions as you type, as well as the auto-complete functionality that suggests variable and macro names.
It took me a great deal of online trawling and research to discover that Visual Assist didn’t work with outdated video card drivers. Once I downloaded and installed the latest drivers for my notebook, Visual Assist was back online (I needed to use those supplied by my notebook vendor, not the manufacturer of the video card).
Compiling and Debugging
Compilation is much the same as with version 6.2 – and as version 7 uses the same GCC toolchain there are no surprises waiting here for you. Before I started connecting microcontrollers, I thought I’d give the simulator a go to see whether the debugging abilities changed at all. Here I hit another problem – the debugger didn’t work. Clicking on “Start Debugging and Break” resulted in… nothing! If I made changes to the source code, it recompiled the project, but not a sign of paused execution, or even “not-paused” execution. I tried creating breakpoints and executing the code, but execution didn’t seem to start at all. It turns out that this behaviour was also caused by the outdated video card drivers – the new one not only resolved the Visual Assist issues, but also got my debugging working.
Atmel Studio 7 uses a different file format – so if you open a project or solution created in an earlier version, you’ll need to upgrade the project to version 7. Personally I have no issue with this, although it does mean that I’ll be keeping version 6.2 around for a while to allow me to share my projects with others more easily.
Atmel Studio 7 comes with the ability to import an Arduino sketch, converting it to a C++ project. This allows you to tweak the project within the IDE, as well as take advantage of more advanced functionality such as debugging. Importing a sketch brings all the supporting Arduino libraries into your project, meaning that you still have access to the Arduino functions – or put another way, it means you still have a very large project. As an AVR enthusiast, I didn’t personally find much value in this much-touted feature.
While this is being highlighted as a new feature, it really isn’t – it just comes pre-installed. The Data Visualizer was always available as a downloadable extension – but not having used it before I can’t comment on any improved functionality within the extension. While it looks really interesting, the setup is somewhat convoluted and requires specific hardware, so I haven’t used it in the past. It is certainly on my to-do list, though.
This looks like a really useful tool if you develop projects using the SAM range of ARM-Cortex microcontrollers. It acts as an intuitive interface to configure your ARM projects using ASF, as well as allowing you to configure the clocks and pin mux setups and so on.
To be completely honest, I’m not certain that an upgrade to Atmel Studio 7 offers much more to enthusiasts than version 6.2. The key benefit to me was that, by keeping up with the latest version of Visual Studio, I was finally able to install Atmel Studio on my laptop – version 6.2 refused to install despite (a lack of) help from Microsoft, and a solid attempt at help from Atmel. I’m certain, from what I’ve seen on my favourite AVR forum, that there was an immense amount of development to get this latest version working in Visual Studio 2015. Unfortunately this doesn’t translate into a host of new features for the user.
Should you upgrade? Probably, yes – if for no other reason than to allow you to stay current with Atmel’s development platform and benefit from any future functionality and features (which will no doubt only be developed on Atmel Studio 7). Not to mention that many of us just need to have the latest version of whatever is out there!
Visit the Atmel Studio 7 microsite for more information and to download the IDE.
I’ve just completed my brand new guide Arduino to AVR: Get Started in 3 Steps.
Get it now on Payhip for only $1.65.
Challenge yourself and learn how to gain the flexibility and additional control that the AVR microcontroller offers.
As a free bonus, get an ATmega328P pinout cheatsheet.
I’m a big user of Visual Studio at work but have still to try out Atmel Studio. Does it come with default libraries for things like I2C or do you have to find them and download them?
Thanks for the question. Depending on the microcontroller you’re using, there may be ASF libraries (Atmel Software Framework). However it isn’t that hard to write your own I2C (for example) code… And it’s more fun than using a library (or at least I think so).
If you want to go down that path there are some good books, or of course the series of “Beyond the Arduino” articles that I write for Nuts and Volts magazine.
Good luck and shout if I can help.
I have noticed odd behavior with other microsoft product (mostly Word and Excel) when I am using the Atmel Sudio 7. Whenever Studio is running and I try to use Word in particular, I get key stutter from the Keyboard. If I close Studio 7 the problem goes away. Have you seen or heard of such behavior and know if a fix is available?
Thanks in advance
That’s very odd, and not something that I’ve experienced. Atmel Studio sits on top of Microsoft Visual Studio 2015 Shell – so perhaps there is a conflict between the two Microsoft products. You could try to raise with Microsoft, but I haven’t had much luck with their support site.
Sorry I couldn’t help much
Thanks for the response. My experience dealing with Microsoft support has not been stellar. I don’t recall this happening with Atmel Studio 6 but maybe I will go back and check with that version again. BTW, I am a semi-retired embedded firmware engineer that got my start with the Intel 8008. I have worked on most all of the major manufactures uPs in assembler and C. I just enjoy keeping my hand in the game. I mostly write little projects for myself and others as needed. In the past I wrote mostly for the TI MSP430 family of processors in hand held medical devices such as diabetes meters.
I have used AVR studio for 3 years now, mainly for AVR32 development. It seems that the AVR32 architecture is on the way out (mature technology?) so I’m aiming either small (atmega) and large (SMART) architecture. I installed Studio 7 for those two and leaving AVR32 behind. I got something odd happening when I started Studio
1 – Start Page doesn’t load
2 – Studio crashes when I tried to create a new Atmel Start project for a specific evaluation board.
Anybody had a similar experience?
I might have my wires crossed, but maybe try installing the latest video drivers. A distant memory that this solved a problem I had.
Otherwise try the Microsoft forums – Atmel Studio is based on Visual Studio. Or the Atmel forums
Let me know if you win!