ARM-Utilities offers a download/upload/debug tool compatible with ST’s proprietary ST-Link protocol, otherwise usable only on Windows.
Later we decided to switch to the more powerful ARM processor, and selected the inexpensive STM32VLDiscovery board as our core module. We were dismayed at the very limited Windows-only support and the concomitant requirement to use a heavyweight GUI for every development activity.
These utilities, libraries and header files were the result of our desire for an equivalent quality ARM development environment. Especially a simple development, build and delivery toolchain. We not only wanted to develop the code, but archive it and have others use, modify, compile and download it with the same ease as with the AVR.