LeafLabs have a nice little STM32 firmware library up on GitHub called libmaple. It includes drivers for a range of the STM32 peripherals including the ADC, SPI, Timers, UART, and USB.
There’s a couple of nice things here: the drivers are very thin and not as over-engineered as the ST Standard Peripheral Library, and there’s a nice, well defined license instead of the ambiguous one that ST use. And for bonus geek points they’ve used the very open MIT/X11 license.