After spending much of last year and the start of this year developing a product based on Arduino Megas*, I figure it's about time I learned some ARM, so along with an order for some other bits, I added a trio of STM Discovery boards to the order -
Now from searching for and reading various pages about setting up a tool chain on windows, I knew getting going via OpenSource wasn't going to be easy, but I never expected it to take anywhere as long as it did. I spent 2 evenings, and most of a day before i finally managed to actually edit and program anything. I'm certainly more IT savvy than alot of folks, however at several points I just had to walk away from the computer before something got broken!
Ideally I was looking to use Eclipse as the IDE as I already use Eclipse, along with the GCC Arm toolchain as it's officially supported, and OpenOCD/GDB as it seems the most popular, but despite various searches and attempts to find solutions, I just couldn't get that combination to work.
In the end this guide finally let me get up and running with the STM32VLDiscovery -
https://sites.google.com/site/stm32discovery/open-source-development-with-the-stm32-discovery/setting-up-eclipse-for-stm32-discovery-developmentIt does however mean I'm not running the latest version of Eclipse, or the GCC toolchain, or OpenOCD, but it does mean I have a working toolchain. For anybody else looking to get up and running using Eclipse, download the exact version that whatever guide you're following tells you to, as the settings change quite a bit between versions.
I think my next step will be to try and update to a newer version of Eclipse, then swap to the GCC toolchain, and then figure out how to get OpenOCD to work with STLink.
*Megas were used for multiple reasons. I already had plenty experience using Arduino and didn't have the time to learn anything else, the Due hadn't even been mentioned let alone been available when i started the project, and the UNO didn't have enough interrupts. Annoyingly, I did think of a method that could of dropped the number of interrupts to 2, but all the hardware had been designed by that point.