If you told me a few weeks ago I'd me making this post today, I'd have told you you're crazy. I've tried Eclipse in the past and was disappointed by its sluggishness and its complexity.

All this changed a few weeks ago when I got a Freescale Kinetis K64 Freedom board and downloaded Kinetis Design Studio to try with it. KDS, of course, is based on Eclipse, and as I mentioned in another thread, I didn't hold out much hope for it and assumed that I'd try it for a few minutes and then switch back to my old standby Rowley CrossWorks. What really happened, however, changed my whole outlook on Eclipse. Not only is KDS fast and responsive, it's also very intuitive to use and I quickly became very fond of it. It showed me that crappy Eclipse implementations are the fault of the vendor, not Eclipse itself.
Since I had such a good experience with KDS, I decided to go all out and put together my own Eclipse/GNU ARM development environment from scratch. I expected it would be difficult to get working because, like most open source projects, it would be poorly documented and many of the steps would be abbreviated because the writer assumed knowledge a user wouldn't necessarily have.
I came across a blog that has a very explicit set of instructions for installing the GCC ARM cross compiler tools, Eclipse, GNU ARM Eclipse, the Segger J-Link server, and everything else needed to build and debug ARM code in Eclipse. The instructions are a little out of date, but I didn't have any problems using the latest versions of Eclipse (Mars) and GCC (5.2) rather than the ones mentioned in the instructions (Eclipse Kepler and GCC 4.7). There are instructions for setting up the tools to use Segger J-Link, P&E Multilink, or OpenOCD debugging tools (although why anyone would want to torture themselves with OpenOCD when the Segger J-Link EDU is only US$60 and the Multilink Universal is only US$199 is beyond me).
http://mcuoneclipse.com/2013/07/20/dyi-free-toolchain-for-kinetis-part-1-gnu-arm-build-tools/Once Eclipse and the other tools are installed, there is full support for the various flavors of Cortex-M parts, with particular support for the various flavors of STM32 and Freescale Kinetis parts, but it wouldn't be difficult to extend it to support LPC, TI, or other ARM vendor's parts.
Some of the advantages of this DIY approach are:
- You get the latest versions of the tools without having to wait for the ARM vendors to catch up
- Everything is free, open source (with the exception of the Segger GDB server) and without code size restrictions of any kind
- It's not tied to any one ARM vendor's parts
- You learn a lot about how Eclipse and the GCC tools are integrated versus using a canned vendor package
- The satisfaction of doing it yourself