I like the ARM7s such as the LPC2106 and LPC2148 simply because there is no CSMIS, there is no hardware abstraction provided by the vendor, every line of code is mine. All mine! OK, sure, there is a C library...
For the 2148, the demo code at
www.jcwren.com/arm is excellent. He exercises every possible peripheral and does it in the context of FreeRTOS. There isn't much that can be done with the chip that he hasn't coded.
As I recall, the easy way to use GNUARM, by itself, with Eclipse was to create a Makefile project and then create the Makefile. In that file I could put the location of the libraries (and the /bin if needed) as well as any compile and link options. jcwren has some neat Makefiles because he has the code in separate subdirectories. There's a lot to learn from his project.
With the GNUARM Plug-In for Eclipse, I can build an ARM7 project using the UART and the build should croak because there shouldn't be a putch() function that talks to the hardware. In fact, there are no hardware functions AFAICT. So, how come it compiles? Did the package creators create 'weak' functions? Now, for the STM32F specific packages, sure, they know how to talk to the hardware. I need to look into this.