Proposal: C/C++ with AVR Microcontroller Plugin AVRDUDE
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.
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).
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