[The Quest for…] Atmel Studio

License and download

Here you can download : Atmel Studio.

If I remember correctly, any is allowed to downlad and use it free-of-charge (maybe while not selling AVR appliances… To be checked).

Pros and cons

Pros

Atmel Studio can be seen as a “trusted reference” for what is supposed to be the hardware behaviour — since this software is from the manufacturer.

Also, it integrates a GUI that allows step-by-step debbuging, allows display of all registers and memories (flash, eeprom, SRAM), and highlights any modification. This is very useful to quickly experiment and understand, for instance, the behaviour of a counter, how it works, controls the pins…

atmel_studio_simulator_raw

Then Atmel Studio can be great for self-teaching. Its comprenhensive GUI one can easly master with only some basic knowledges of any Studio-like tool.

Cons

On the other hand, using Atmel Studio on a day-to-day basis  can be a pain in the ass, if not driving your development. If it does… huh ? Why are you reading me anyway ?

I mean that like other Microsoft tools, is invasive and exclusive (Atmel Studio is based on MS Visual Studio… and avr-gcc ! Poor, sick world… -_-‘). For instance, while adding an existing file is a piece of cake ; I found no natural way to integrate an existing directory in a project, which arose difficulties to synchronise with git (and virtually any other VCS).

To make my pulled directory recognized inside Atmel Studio I had to :

  1. Create the directory, empty, inside Studio,
  2. Close Studio (maybe optionnal),
  3. Remove the directory on disk,
  4. git pull to get the directory  with content,
  5. Reopen Studio, import files located in directory.

This process is obviously heavy, but still acceptable for most AVR project that imply a source tree with few dozen of file maximum.

Anyway, IMO, it illustrates well the “invasive and exlusive” thing I was former talking about.

Extensibility and I/O simulation

Atmel Studio is a closed product, even if based on GCC toolchain.

Any can extend simulator using “stimuli” scripts, which syntax is summarized here.

There are few programming facilities, like triggering breakpoints (pauses the simulator), setting delays (N cycles of the MCU), assigning logical input, possibly from other register values, in a raw or using logical combinaison (bit by bit).

Stimuli files are well named : despite it’s cool to be able to stimulate our simulated core, they nearly a purely static input : no user interaction is allowed, and even no condtionnal branching of stimulation script is possible.

Conclusion

Atmel Studio is a great tool to introduce yourself or trainees to AVR world. It can even be a production tool ; it is designed to. But it drains the cons and limitation of Microsoft * Studio tools.

To someone who likes the Great Way of UNIX (to unflod this expression, please read : Master’s Foo enlightenments), and since the compiler used under Atmel Studio is GCC anyway ; it’s a great temptation to wipe this out, reboot a GNU/linux (or your favorite free OS) and use “directly” avr-gcc and avr-gdb tools.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s