I also recommend grabbing one of the STM32 Discovery boards. Cheap, open source tools available, so you can easily setup full programming environment using OpenOCD for debugging, Linaro as toolchain and Eclipse or Code::Blocks as IDE. It's not completely straightforward, but there are nice project examples for Eclipse on
this page. There's also tutorial for setting things up, but outdated and not translated to English. You can always ask here, I've been through the process and can help.
Just one thing, do
not attempt to use STM32's what's called Standard Peripheral Library. It just complicates things, makes you read twice more documentation (first to know the micro and then to see how this stupid library is supposed to work), it's slow and can break things.