I think I got mine for closer to $2.50 and at times you can get them less than $2. Careful though I got taken for $20 buy an ebay vendor, I didnt read the reviews carefully enough to know they send a package with a few inches of wire or something of little value to satisfy ebays package tracking. It is on you to deal with the loss, not ebay nor paypal.
It is hard to compete with those prices so long as you dont get taken too often. but for a few bucks you could buy parts and boards from places that are not going to leave you empty handed.
either way with many/most of the cortex-ms you can use an ftdi based board that supports mpsse, you can get j-link (I assume clones) for ten bucks on ebay from asia, they work just fine with this board/chip (note there is a cortex-m0 based board on ebay for around the same price has both the swd and serial broken out on the bottom). For about ten bucks you can get a nucleo board from ST, those or the discovery boards you can remove the jumpers to get at the swd pins and then use that header for other chips/boards/vendors. If you get the right nucleo board as not all of them support this you can also use the stlink debugger for uart access. have to check the docs, the boards often have RX/TX pins but not all are usable.
You can go the tiva-c route as well and some of those boards you can get at the header although some are wee tiny and painful. i find stlink or j-link much easier.
use openocd, can telnet into the openocd server and erase and load flash or run programs from ram. all free.
These parts have a bootloader in them as well so with a usb to uart you can move the jumper over and boot that way and download your program that way, simple protocol, can bang out your own tool in tens of minutes, or an afternoon depending.
Can apt-get tools or easily come by pre-build gnu based tools.
ST has various libraries if you dont want to get your hands dirty, should have support for free tools, and might provide an ide which supports the stlink.
Should be very easy to find more than enough examples out there, only took a few seconds for me...
As with any mcu start at the vendors web page, for arm details you go to arms website although ST does have a document similar to the architectural reference manual, even though you are not normally allowed to re-distribute that info. It is in the vendors best interest to provide for free/cheap a set of libraries that hide the details of the chip, and an ide and other tools for programming the parts. And they do that, there is churn on these items so as soon as you get used to one another one comes out that is completely different, but at least there is something. or you can just program them using the docs, these parts are fairly simple to program.
Note I found these parts on these asia/ebay boards locked.
stm32x device protected
failed erasing sectors 0 to 0
can use the write unprotect bootloader command which doesnt respond, but on the next power cycle it is now unlocked.
I also figured out how to do it with openocd, but dont remember where I wrote that down. I think my bigger batch of boards I just ran them through the uart interface like an assembly line to unlock them all then used a jlink with a hand made adapter that plugs into the end for development. have not finished my usb based bootloader...