2009-09-18 04:43 PM
Open source tools for the STM32
2011-05-17 03:16 AM
Hi friends,
I'd like to adopt the STM32 family but I absolutely require open source development tools, and in particular tools that aren't crippled or aren't at risk of being crippled by tool vendors. I need: -C/C++ toolchain -STM32 include files, libs, startup code, and linker scripts -code flashing (open source JTAG or maybe serial upload via bootloader) -optional IDE -optional debugging There's this compiler:http://www.codesourcery.com/gnu_toolchains/arm
based on GCC 4.2.1. (But then they want to SELL Eclipse... makes me want to avoid dealing with them at all.) But what about STM32 include files, libs, startup code, and linker scripts? IDE integration? Debugging? Then there's Anglia's STR7 Toolchain: based on GCC 4.2.0 (from codesourcery?). Does it do Thumb2? Does it support the STM32 family off the shelf? Somebody tried it? gnuarm doesn't seem to do cortex-M3. There's OpenOCD for debugging: Does it work with the STM32 family? And then there a couple of IDEs that tool vendors want to push. Some of them use GCC, but there's still the danger of subtle vendor lock-ins I'd like to avoid, and you can forget about open source and open hardware debugging. My question is, is there a free integrated suite for the STM32? If not what's the next best thing? What's driving Anglia? Do they want to push their debugger dongles for instance? (ie: do they cripple debugging?) I think that if you take your time you can get things to work, but I don't have the time so I'm considering AVR32. Atmel pushes the architecture with an open source IDE. I think ST should do this instead of dancing for IAR and company, it's such a waste of time for us. Thanks!2011-05-17 03:16 AM
Dear lanchon,
I made a search on internet, and I found an interesting Fully free tool for Cortex-M3 based on Eclipse and GNU GCC for ARM tools suite from Codesourcery and could be very interesting for STM32 : Here the link :. The full Package Download is about 158MBytes : . I haven't tested it yet but I will try it during the weekend if I have some time, or you can do it as well. For the JTAG tool it seems there are some schematics to use a PC LPT port too. :D Regards, STOne-322011-05-17 03:16 AM
Hi ST1,
Thanks, that really seems like a promising link. I don't know how much work it is to configure codesourcery for the STM32, I hope not much. BTW, do you have an opinion on Anglia's tools? Thanks!2011-05-17 03:16 AM
Hi,
I work on the IDEaliST tools so here are my comments: The ide was originally created for the st6 c compiler many years ago. Support for upsd (using sdcc) and lately st arm micros were added. We have a lot of experience with the gnu tools for various platforms so thought we would make the tools we use internally available to everyone. The idea is to provide a low cost start for our customers, as anyone who has played with the gnu tools will appreciate it can be a long learning curve. It is not locked in any way, and supports all the jtag tools that openocd does. The only thing you have to do is request a free licence. Yes we support all the ST arm micros including the stm32, our compiler is based on the codesourcery branch of gcc with a few tweaks. We include the st arm libs prebuilt to make using them much easier. I am also a developer on the Openocd project and yes it supports the stm32 - all the st micro support is maintained by me. Openocd is the debug server used within Anglia's ide/toolchain. gnuarm uses the mainline gcc, and at the moment it does not support cortex-m3. Regards sjo2011-05-17 03:16 AM
Hi sjo,
Thank you very much for details, I appreciate a lot for work of Anglia. Now I think to future of Cortex-M3 is to become famous and be the standard of 32-bits micros like the success done by 8051. For this, There is a lot of work to be done in Free Compilers side to fully support Cortex-M3 ( compact density and best performance) and to provide complete free toolchains with minimum $$ and why not with Zero $. I wonder if you have done some comparison between Most Known compilers (ARM/Keil, IAR, Tasking, and Gnu ) to be shared . Thank you. Regards, STOne-322011-05-17 03:16 AM
Hi sjo,
Thanks for your detailed answer and for sharing your work on OpenOCD and IDEaliST with the community. It's great to know you are around this forum. However I'd be lying if I didn't tell you that I resent a bit the requirement to obtain a free license to use IDEaliST. AFAIK the GPL explicitly forbids placing any additional requirements on licensees, and forcing additional requirements in the form of an overlaid mandatory license automatically revokes *your* GPL license, including your rights to distribute the GPL'd code. So when you distribute GPL code with an overlaid license you are actually ''pirating'' copyrighted software over which you have no rights. Such additional license agreements are probably completely void, so one could click through anything without worrying too much. But in my case I tend to punish the licensor by completely avoiding their products or services for any purpose. I just want to be in better company. I consider stealing from the community to be a grave offense, and yet most companies that try it get away with it. That's why the community should be alert and making sure that when a company does these things they are actually shooting themselves in the foot. That's why you'll never find me using these commercial IDEs based on GCC. Also, a many of the microprocessor companies can be easily discarded based on their stance on GCC, like Microchip with it's C30. I don't know whether IDEaliST has these license problems or not. I hope they can be fixed soon if it has them. Please don't take any of this personally, and be assured that I'm most thankful for your post and your work with the open source community. Best regards, Lanchon2011-05-17 03:16 AM
The licence is required for the ide, the toolchain can be downloaded and used however you like.
The licence is purely for tracking downloads/use, and has no other restriction. We fully comply with all GPL licences - I have been developing code in open source arena for many years and am fully aware of what i should/should not do. If you need to go fully open source you can either download codesourcery/Anglia toolchain and use eclipse/codeblocks for the ide. Regards sjo2011-05-17 03:16 AM
Thanks for clearing that up. I'm just too tired of companies bulldozing over the rights of the community. I've reported every misuse of the GCC to the FSF but they seem not to care much, and probably that's why everyone is stealing their code: screwing people just works for them. I guess you being involved in open source are maybe as tired of this as I am.
The IDE license is a problem for me. Not being open source, if I invest in learning how to use it I run the risk of loosing my investment any time, from eat-now-pay-latter risks, to focus shifts, to even the company going under. Many companies promise they will always be there for you, but I value immensely more the being irrevocably here with you now of GPL over any promises. I never intended to imply that you didn't comply with GPL, in fact I haven't even tried IDEaliST, I'm sorry if that came out wrong. If anything the most important message I have for you is a big thank you for working on open source tools. Best, Lanchon2011-05-17 03:16 AM
You can download from the stm32circle web site (http://www.stm32circle.com/hom/index.php) a free IDE (RIDE7) with a free compiler (GCC). These tools are also available on the Raisonance WEB site.
Moreover, you find there some open source code too.