Ingmar has posted 3 posts at DZone. View Full User Profile

Proposal: C/C++ with AVR Microcontroller Plugin AVRDUDE

11.04.2011
| 9034 views |
  • submit to reddit

For several years now I've noticed a lack of support in NetBeans IDE for the embedded systems world. I want to address this problem.

In Eclipse and Microsoft Visual Studio, there are plugins/alternative versions to allow developers to program C/C++ code for embedded devices. So far NetBeans IDE only supports the development of microchip microcontrollers (MCU) via the MPLAB X IDE, which is an extended version of NetBeans IDE.

However, most enthusiasts use Atmel MCU's and Arduino platforms (based on Atmel). Although there are workarounds available to use NetBeans IDE as an Atmel MCU IDE, it is still not an optimal solution.

See:
Developing for AVR with NetBeans
AVRFreaks AVR with NetBeans

Proposal

I propose to create a new plugin for NetBeans IDE that allows an embedded engineer to compile and upload their code to an MCU by utilizing AVRDUDE.

To create this functionality, we have to extend the existing C/C++ plugin with new features. After compiling a hex file, with the avr-gcc toolchain, the program AVRDUDE needs to be executed. The actual uploading of the compiled program is then handled by AVRDUDE, which is open source (see AVRDUDE).

To make the whole picture complete, the plugin also needs an AVR simulator to debug en test the written code. For this we could use http://www.nongnu.org/simulavr/. And, because embedded devices often use UART (RS232) to communicate with a computer, an RS232 implementation is also needed (see RXTX lib).

Summary

The proposed features are as follows:

  • Uploading compiled program by calling AVRDUDE after compilation
  • Configuring AVRDUDE for the selected MCU target (Settings)
  • Code completion for Atmel AVR
  • Integration of Arduino development plugin (Arduino Development using Netbeans)
  • Integration of Arduino libraries / processing
  • An AVR simulator to debug en test code
  • A RS232 monitoring tool/window

I am committed to make this work! However, before I begin, I would like to hear your thoughts and ideas. Or maybe there are other NetBeans Platform developers willing to contribute to the development of this plugin?

Development of this plugin has started!! See http://java.net/projects/nbplugin-avr

Published at DZone with permission of its author, Ingmar Hendriks.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Javier Ortiz replied on Sun, 2011/11/06 - 6:03pm

I agree 100% Sadly my knowledge on C++ is limited. But this is a huge gap that would be great to close!

Kurt Risser replied on Mon, 2011/11/07 - 11:38am

Ingmar,

   A NetBeans plugin for Arduino programming would be sweet.  I've used NetBeans to write Arduino programs, and it is not so easy.  A plugin would be terriffic.

 Kurt Risser

Sławomir Mikuła replied on Mon, 2011/11/07 - 4:02pm

yes, it will be positive for embedded development. Few remarks: - using not only AVRDUDE but also other programmer frontends eg. stk500 (avrisp mkII) - compatibility for linux and windows (winavr toolchain) - simulation would be a great benefit, but it is a huge task - rs232 monitoring tool would be great (assume working like portmon) or event standard terminal - other toolchains (especially arm) would be also great

Ingmar Hendriks replied on Tue, 2011/11/08 - 3:02am in response to: Sławomir Mikuła

The great thing about AVRDUDE is that its compatible with Linux, mac and windows. It also allows users to connect to a STK500 and an AVRISP mkII and other popular programmers. Using AVRDUDE will be a great stepping stone to supporting allot of programmers. In the future i can imagine native support from within the plugin for programmers without AVRDUDE but that will take some time. I will have a look at Portmon to see if i can get some ideas about the implementation. Thanks for the tip!

Terrence Barr replied on Sat, 2011/12/03 - 2:39pm

Ingmar,

Excellent idea.  I've blogged about. Let's see how we can get this going!

Best,

-- Terrence

Ingmar Hendriks replied on Fri, 2011/12/16 - 4:04pm

The first (and probably most easiest part) is done! The RS232 output window plugin for communication over the Serial port with external devices is in Beta release. I decided to make the RS232 output window a separate plugin so that people can extend it in there Netbeans platform applications by using the API Receive RS232 messages Output in ASCII, OCT, HEX and BINARY data Log RS232 Session to a file Transmit RS232 messages with either ASCII or HEX values for the input. See http://java.net/projects/nbplugin-avr

Carla Brian replied on Fri, 2012/05/04 - 9:18am

To make the whole picture complete, the plugin also needs an AVR simulator to debug en test the written code. I had figure this out a while ago. - Paul E. Perito

Matt Coleman replied on Fri, 2012/06/22 - 2:02am in response to: Terrence Barr

me too...i blogged this coz its really awesome

buffalo web design
 

Mateo Gomez replied on Wed, 2012/08/15 - 1:49am

I am honestly learning so much from Netbeans

mexican drinks

Danish12 Ali replied on Wed, 2013/08/21 - 2:38am

 And lets not forget how those brave and peaceful farmers and shepherds for 19 years[ 1948-1967 ] were forced to use artillery barrages to beat back those vicious and evil Israeli schoolchildren. Yeah bravo, Peter  Thomson Three

Danish12 Ali replied on Thu, 2013/08/29 - 4:35am

 You have done a great job. I will definitely dig it and personally recommend to my friends. I am confident they will be benefited from this site.  car tinting Houston

Cata Nic replied on Fri, 2013/09/06 - 2:22am

 This proposal should be better discussed if you want to have an effective result.

Danish12 Ali replied on Wed, 2013/09/11 - 5:24am

 Thanks a lot for sharing this amazing knowledge with us. This site is fantastic. I always find great knowledge from it.  get facebook likes

Danish12 Ali replied on Thu, 2013/09/19 - 3:07pm

Thanks for a very interesting blog. What else may I get that kind of info written in such a perfect approach? I’ve a undertaking that I am simply now operating on, and I have been at the look out for such info  Aurora Garage Door Repair

Danish12 Ali replied on Thu, 2013/10/10 - 3:37am

 video by filmmaker Donovan Greene beautifully captures the Salmon-Safe program. The video features leading Salmon-Safe  Plumbers Pretoria

Danish12 Ali replied on Fri, 2013/10/11 - 7:04am

 This is exactly what I was looking for. Thanks for sharing this great article! That is very interesting Smile I love reading and I am always searching for informative information like this!  Sale Prescription Eyewear

Danish12 Ali replied on Tue, 2013/10/22 - 3:05am

 You should comment on the bonuses of the blog. You can bring up it's superb. Your blog appraisal may build up your prospects  website

Danish12 Ali replied on Sat, 2013/10/26 - 4:29am

 Helpful information ..I am able to check out this short article..many thanks for giving us this helpful information. Fantastic walk-through. I fully understand this publish  https://rebelmouse.com

Maydi Lee replied on Thu, 2014/03/06 - 6:22am in response to: Ingmar Hendriks

 

Regardless of recent stressed economic conditions, the vacation parks marketplace has continued to be relatively strong and also the parks still provide inexpensive family holidays that individuals enjoy.
http://incredibleholiday.net  

Maydi Lee replied on Thu, 2014/03/06 - 6:23am

 

Many individuals feel which you are required plenty of cash to work any garments retailer. This can be you can forget correct due to the fact you’ll find plenty of low-cost from suppliers trend garments accessible.
http://www.classicfashion.org  

Maydi Lee replied on Thu, 2014/03/06 - 6:24am

 

Travel agencies have undoubtedly become very important and indeed very necessary. Certainly these agencies have helped in the expansion of the tourism industry which of course leads to more usage of the travel industry.
http://usedcaravansales.net  

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.