Oh, and another thing about the Discovery boards...
The STM32VLDiscovery board costs less than $10. It's a nice, but has a wimpy mcu with only 8K of RAM and 128K of flash. However, because ST uses similar (if not identical) pinouts for it's chips, I was able to desolder the original mcu and replace it with a big, beefy F103 with 1M of flash and 96K of RAM. That doubles the cost, but it's still cheap, and gives you the chance to practice smd rework (with plenty of tongue angle).
Note that the VLDisco board uses stlink v1 and the F4Disco uses stlink v2. The SWD hardware is the basically the same on both boards, but the difference is in the firmware of the programming mcu (also an F103 part). V2 is a little easier to work with because it doesn't masquerade as a SCSI device, but v1 works too. In theory, you could reflash the v1 mcus to use the newer protocol, but there's no binary image available. I did read about someone flashing
Versaloon firmware onto it.