VS
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 ?
http://www.coocox.com/CooCox_CoIDE.htm
http://leaflabs.com/docs/ide.html
Official Thread : http://www.virtualrobotix.com/forum/topics/what-ide-do-you-prefer-for
Regards
Roberto
Comments
http://www.segger.com/cms/admin/uploads/userfiles/file/PressRelease...
to me the question is what jtag device to use.
as eclipse as gui/ide is SET!
integrating the segger jlink device within eclipse is a snap.
and the segger offers a non commercial license - and this is what we can use.
http://sourceforge.net/projects/gnuarmeclipse/
http://www.google.ch/search?q=zylin+plugin&ie=utf-8&oe=utf-...
eclipse is a powerfull environment - i agree when someone says it takes a while to get familiar with it.
but it is possible to use eclipse WITHOUT any plugin ;-)
it is just a matter of configuration.
there is also another eclipse based development tool: atollic
it builds on top of the st-link jtag device.
the protocol of the jtag device itself is not opensource (at least it was - there discussions to open it).
but also atollic is nice and there is a free version.
integrating a jtag device is a question of having a wiki page.
when looking at stm, then there are devices which look like cortext devices but they behave differently: stm32w
also there is no real usefull documention to successfully integrate them with openocd.
>Unfortunately there is no new pre-configured binary collection - or I just didn't found that.
there are way too many linux environments. a single makefile is enough.
but i don't go the path to verify a selfmade toolchain.
i would stick with codesourcery.
downlaod it and start the makefile.
cortex devices are pretty old - compiler support is build in since years ;-)
hmm, before i forget it to mention - the 'Raisonance IDE' uses ... yes, codesourcery as the compiler toolchain.
again you are using commercial jtag devices ...
>Unfortunately there is no new pre-configured binary collection - or I just didn't found that.
the arm support within eclipse was broken. to be honest i do not know the latest state.
codesourcery has binary and source code release - as required by the gnu gpl license.
maybe you try to start using the commandline and simple makefiles ;-)
Installing Eclipse is easy, but plain Eclipse is not an Arm IDE. Selecting the proper plugins, and configure them is the real problem. There are different version of Eclipse, different toolsets and plugins. Not all of them working together. There are a few step-by-step instructions available, but not for the new versions.
I made it working, but it was not easy at all.
Unfortunately there is no new pre-configured binary collection - or I just didn't found that.
what i don't like in coocox is simple: chinese origin - i don't trust binaries from china which do communicate over the internet.
have a look at the french ecar :-))))))
if i have the source then i do have control over it else ...
>- easy to install on Windows (to the contrary installing Eclipse + gdb + openocd + drivers is a
>pain on Windows)
you have never worked with eclipse.
download the compressed version unpack it and it works.
it relies on the jave runtime nothing else.
the jtag device is another story.
the decision has been made ot use stm not nxp - so stick with or develop your own pcb ;-)
hmm - when i see unlimited code then i understand that the writer does not know anything about a bootloader and gcc ;-)
Coocox supports jtag, but only two proprietary adapters: Colink (ftdi variant) and ColinkEx (using an ARM uC).
It's Eclipse based, so the functions are similar.
What I like in Coocox:
- free and unlimited
- easy to install on Windows (to the contrary installing Eclipse + gdb + openocd + drivers is a pain on Windows)
- just pick a chip and it arranges the rest (stuff like linker setup etc)
- built-in libraries for peripherals
Against Coocox:
- proprietary jtag adapters
- bugs
- missing or unclear functions in the debugger part (for example getting variable values without stop the code)
If 32k code space is enough, the free (for non-profit applications) 32k code limited Raisonance IDE is an excellent choice. It's reliable, easy to install and use, well documented. Eclipse-based too, provides everything that other Eclipse based systems do and much more.
@ roberto,
eclipse; and why you didn't choose developing instead on Nxp LPC176x M3 Cortex cpu?
(http://www.embeddedartists.com/products/lpcxpresso/lpc1769_xpr.php)coocox is based on eclipse and uses codesourcery :)
what makes the difference?
i miss jtag support.
have not yet seen a bootloader and tools.
Arduino and IDE hide too much for professional multipilot32. Xduino and Leaflabs IDE will place constraints on timer usage, pin usage and peripheral operation. "Manual" access to the registers will be required to obtain the functionality that is required and the project will be a slave to the official releases for bug fixes, enhancements etc.
As examples, Timers required direct access to create proper servo time periods and pulse widths, Fast Serial library to overcome other issues. It may be time to unshackle those contraints and start with full control of the micro. Even after a year of development and 5 revisions of base hardware, the LeafLabs project, good as it is and will get better, still does not have a viable I2C hardware library. They are forced at the moment to provide a bitbanged library, can get by, but unacceptable if performance is what your after. I know they are working on a custom IDE but that is problably months and months from now.
These types of problems and other potential peripheral interoperability issues point to native C as the better choice for this level of device. Libraries will have to be created either way, ant the importance of debugging capability cannot be understimated and will be greatly welcomed, , why compromise?
CooCox IDE seems to meet these requirements and will seem friendliest to beginners and gets my vote.
i would simply stick with an eclipse environment.
coocox is nice, but way from finished. also the count of supported jtag devices is very low.
their realtime os is a freertos clone.
hardcore programmers do use eclipse - but not openocd in the first place.
i would prefer code red stuff ;-)
but no stm support.
the other 50 percent of the hardcore programmers do only use make files :-)
anyway, the toolset is in all cases codesourcery. eclipse integration is easy to realize.
hmm, i am very interested in a stm32 based cpu because debugging is much easier.
and i like cortex devices.