GNU ARM toolchain
You'll probably want the EABI-targeted version:
Tested to work with Freescale MC13224v and Atmel AT91SAM7 chips.
Linux and Win32 support.
Build-it-yourself toolchain. The project also includes a chip & board support package framework, and has some code for AT91SAM7 chips.
Linux only. Might built under Cygwin?
Native Win32 GNU-based toolchain. Works very well, doesn't require cygwin. Limited makefile support.
The YAGARTO site has some great tutorials, like setting up Eclipse to work with an external Makefile project for ARM embedded targets.
An STM32 bootloader application, implemented in python: http://tuxotronic.org/wiki/projects/stm32loader
Current untested by us
See the linked page specific to building firmware for NXP LPCXpresso board.