a Virtual Robotix Network Team

What IDE Do you prefer for Multipilot32 - Ardupilot32 ? Arduino like Framework vs CooCox for Arm MicroController .





Dear Friends ,

Today I'm working on IDE for Multipilot 2.0 . I found different kind of approach available For developing application on Arm Cortex A3 microcontroller.

Actually I'm studing this kind of platform :

Xduino , Maple IDE and CooCox IDE.

The first two ide are Clone of official Arduino project .  This kind of ide use same Arduino Java ide and add support for gcc arm compiler instead of gcc . Normaly support usb uploading of firmware don' support jtag debugging. The Maple is better of xduino at the moment. The standard arm library is wrapped for using same arduino language sintax. Is not yet fully compatible with original arduino sintax.

The second one instead is a Eclipse ide , that include support for makefile automatic production , gcc compiler , linker,  debugger and support Jtag interface for debug and upgrade firmware.

Support a lot of functionality of ARM micro , is available a micro operating systems that support task and preemptive multitasking.


Personally I prefer second kind of approach , more professional approach not for entry level programmer . The first kind of approach is very good for people that normaly use arduino for development of his application .


My idea at the moment is to support all kind of systems .. actualy the second kind of ide don't support the arduino .pde application ,but i think that is possible to develop a wrapper class and a mod for eclipse that support this kind of improvment.


What kind of approach do you prefer ?



Views: 1760


Reply to This

Replies to This Discussion

Sorry to jump in here. May I suggest it is sometimes worth taking a look at what others do. The OpenPilot project has choosen FreeRTOS as a firmware framework and Qt as a ground control framework ( They use the Qt Creator IDE. Qt is free for non-commercial projects (


FreeRTOS is a very robust real-time OS ( It is available in both a free and a commecrial version (as is the case with Qt, BTW).


Although OpenPilot actually uses these, I would have chosen them anyway.


Just my 2 cents.



full ack

BTW, besides OpenPilot, the GluonPilot also uses FreeRTOS, see




i check your link . I know Arduino approach is more simple as RTOS . I think that we need a mix between efficence of RTOS RT and Arduino like approach.

I think that a big difference is doing by C++ . With C++ the class could be more simple to read and write.


Sure C++ makes life for a programmer easier to some extend (that's just the idea of C++, right?).

However in hardware-related programming, simple C is still de facto standard for good reason: C++ implies quite some (hidden) overhead. Although this is considered to be not a problem in systems with a modern microprocessor, it might still be an issue for microcontrollers.

Also, as opposed to C, C++ does some things "in the background", which is not obvious to the programmer (e.g. object constructor/destructor). This is not the case with C where you always have full control of what is going on (much like with assembler).

All this has been discussed a great length years ago e.g. in the Windows device driver community and I have not seen many drivers written in C++ in my life (and I have seen myriads).

Anyway, you actually *can* use C++ with FreeRTOS as Robert Bouwens already pointed out:

Having said all that, after all what a mini OS like FreeRTOS primarily does is just add timer-based features like timer callbacks and of course multitasking.



a little c++ design just for message passing would also make sense to me.

i am already thinking in that direction.

mabe we can get other in the boat in the desing phase.

--> a general purpose little framework


Today I testing Eclipse CDT IDE , import GCC make code for ARM Cortex A3 micro is simple.

When you import the make editing compile and debugging is very simple and powerfull. :)

This is my proosal .. I would work on VROS ...this is the White Paper

I'm yet start to work on it ..





© 2019   Created by Roberto Navoni.   Powered by

Badges  |  Report an Issue  |  Terms of Service