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.