Setting Up AVRStudio 5 For Arduino Development
-
Introduction
When I first started to develop applications for the Arduino platform, I was quite impressed at the simplicity of their development environment. At first glance it is a WYSIWYG style editor with no hidden funny business or overly complicated settings. Simply write your application, verify/compile, and then upload to your development board. For many, this approach works perfectly, and there is very little desire for change, however, once you start to dive deeper into application development, and start developing applications with multiple libraries, you start to get a bit hampered by the limitations of the IDE. For one, the handling of multiple files is a bit lacking especially when you start to have a total of 10 or more header and source files. Because of its tabbed based IDE, you start to "lose" quick access to tabs that are outside the bounds of the window, and must resort to using the file display button to hunt down the file you are looking for. Another thing I wasn't very keen on is the outdated interface. I use Visual Studio 2010 quite heavily at work, so although I found some comfort in the Arduino IDE, I wanted to be back in my "home".
AVR Studio does just that! Using a Visual Studio shell, it brings you back to familiar territory, and being that it is the go-to development studio for all AVR chips, and can use the AVR-GCC toolchain, it is the perfect alternative for those developers that want a bit 'more' out of their IDE. Albiet there are some caveats when it comes to linking and building with the latest version of AVRStudio, I personally find its organized look a bit more appealing that it makes up for what it lacks.
-
Differences Between AVRStudio and Arduino IDE
The picture above says a thousand words. As you can see, with AVRStudio on the left and Arduino IDE on the right, we are talking about a completely different development environment. AVRStudio is more of a developers environment than the Arduino IDE, mainly because it gives you far more advanced options for your code. One of the most important things for developers is having warnings enabled, which is great if you like to make sure your code is fully compliant and all "possible" flaws are taken care of. Not to mention you get added options like code optimization and fully verbose compiling (which can be done through the Arduino IDE, but not something that is easily found if you are new to the environment). The only real flaw of AVRStudio is that the latest version has some issues when it comes to linking, which I am sure they will be tended to in future patches, and that you cannot link Arduino libraries without actually including them (or virtually linking them) to your project (i.e. SPI, Ethernet, etc). These are very easy to overcome, and are in no way cons to the use of AVR Studio.