AVR Studio 5 and Arduino integration

First I want to say that I love Arduino and I think its IDE offers a great starting point for beginners.

Recently, I tried to make the leap to AVR Studio. It has been a long time since I did full C development so it took awhile to get back in the swing of things. I downloaded the beta of AVR Studio 5 and realized its in Visual Studio Isolated Shell. Since I work at a place that writes VS extensions everyday I through together a quick proof of concept of how we could put Arduino menus into Visual Studio.

I'm not suggesting we replace the IDE, but was interested to see what people think of building a Avr studio extension that runs off a local copy of the arduino software. That way you could develop with as many bits of arduino as you desired!

Check it out at my blog http://flakelabs.com/2011/03/avr-studio-5-and-arduino/

What Visual Studio 2010 is needed? I have VS2010 C++ Express, and I have no choices like "Visual Studio Package" available. I can't afford Visual Studio Pro.

Kari

Did you install the Visual Studio SDK? http://www.microsoft.com/downloads/en/details.aspx?FamilyID=47305cf4-2bea-43c0-91cd-1b853602dcc5&displaylang=en

I'm also interested to see if express can create stuff for the SDK.

it would be just incredibly awesome if i could use VS2010 instead of the arduino IDE, but still be able to upload through the menu.

as a professional software developer who is used to working in VS2010, the arduino IDE feels like something made for kids, imho.

flakelabs:
Did you install the Visual Studio SDK? http://www.microsoft.com/downloads/en/details.aspx?FamilyID=47305cf4-2bea-43c0-91cd-1b853602dcc5&displaylang=en

I'm also interested to see if express can create stuff for the SDK.

I do have SDK 7.1 installed, but I can't find actual Visual Studio icon, or I just don't know to look for. Unfamiliar environment for me.

Cheers,
Kari

The link for the SDK you gave, don't install over Studio Express... too bad.

Kari

If it wont work for express thats ok. Just limits peoples contribution. Actually, depending on how its done the Visual studio installer can load dynamic dll's compiled in C++ or C#. So a boot loader could be built with full Visual Studio and it would simply load the real plugin.

Heh, are you talking chinese to me???

No, that is just too complicated for me, I'll stay with arduino IDE. It will do fine for me now.
:wink:

Cheers,
Kari

What we are talking about is an AVR Studio plugin. Downloading the SDK will not get you plugin. All I have is instructions on how to build the first Hello World plugin. I was just seeing if there was interest in connecting AVR Studio 5 to arduino so that people can use a more powerful editor but still got all the snazzy cool stuff that arduino has.

I seldom use the IDE because, well I'm sure you know. I use an editor and makefile or if I go native Studio 4.

I think AS5 will be good when it's stable and I would be interested in using it for Arduino. I currently use VS08, don't know if that's a problem or not.


Rob

how we could put Arduino menus into Visual Studio.

How's that work on Macs and Linux systems ?
:frowning:

I think that it's incredibly important that Ardunio makes microcontroller programing accessible to non-windows users.
(and I'm very disappointed that Atmel took such a path with AS5, given that many other vendors are switching to IDEs that ARE explicitly multi-platform (Eclipse, Netbeans)

Dont know why this didnt work but lets try it again.

Arduino Studio "Hello World" edition launched. flakelabs.com - This website is for sale! - flakelabs Resources and Information.

If people could download it and try to install it into AVR Studio 5 Beta that would be great.

How's that work on Macs and Linux systems ?

It won't. It would not be a replacement for the Arduino IDE but just read the same config files etc and produce the same results. I've already started looking at the Java code.

Ok, I got the dialog box(es) after installing the plugin from the gallery. And now?

Thats it for now, I'm going through the arduino source code and trying to figure out a good game plan of how to read all the files and run avrdude.

Right now my biggest setback is that AVR Studio won't intellisense .pde files.

As far as I see the .pde files are straight .c or .cpp and if you rename it, the work is done.

But this isn't the main point. Much more important is

  • what does the boot loader and how to integrate its functionality in AVR Studio?
    Certainly you (or we) need another piece of hardware that communicates via the JTAG interface.
  • what is initiated in the Arduino before void setup{} is run

To get all of this done, I advice to make a project and involve somebody else.

Have you seen Redirecting ?

( and related documents in http://arduino.cc/en/Hacking )

There is main() defined off in the arduino core that calls init functions before setup().

The bootloader is not directly involved in any arduino functionality. If you have a real device programmer, you can skip learning anything at all about the bootloader. Otherwise, the bootloader implements a stripped-down implementation of the stk500 (version 1) upload protocol. Avr Studio should also support this (but I'm not sure that it will work with the "reduced" version that is optiboot.)

Hi,

You can see an example of how to use Arduino from AVS 4 in this link http://download.lpmagazine.org/es/2010/Linux_06_2010_ES.pdf on pages 20-23. It is written in Spanish, but perrhaps you could be able to decode the most important information.

The paper also show how you can tranfer your code almost without any modification between both systems. So you can use the IDE that you prefer or need in any moment a simple and fast Arduino IDE or a more deep and heavy AVS 4.

I hope it could help.

Regards

I recently started with c and i really liked AVR Studio for it's editor's auto complete function witch helps alot
'cause i'm new in c.
I also liked the debugger and the ability to monitor the 328p output and input ports in debugging.

So when i made Blink in c i wanted to upload the .hex file to arduino using it's boot-loader.
I used NG Coders. Great Job!!

i followed the instructions and got it working! it preserves the bootloader in flash so my arduino
is still compatible with the IDE.

Next step was to be able to upload the .hex file created in AVR Studio 5 from within it's enviroment.
Well... AVR Studio 5 has an option in the tools menu to add external tools..hehee....

so i did add an external tool named Arduino Uno Upload.

in the Command field i added avrdude located in the ArduinoUploader directory
in the Arguments field i added :

-F -v -pm328p -cstk500v1 -P\.\COM7 -b115200 -D -Uflash:w:"$(ProjectDir)Debug$(ItemFileName).hex":i

the arguments were copy-pasted from the ArduinoUploader.exe after it worked on its own.
(I'm not sure what every argument actually does)

the $(ProjectDir)Debug$(ItemFileName).hex part of it makes sure the .hex file of the current file edited is uploaded.

checked ''use output window''

added a button for the tool just created on the toolbar and voila.... One button Arduino Upload!!
just like the Arduino IDE does!

Have you seen this before?
http://www.visualmicro.com/

I think it already does what you want.