cancel
Showing results for 
Search instead for 
Did you mean: 

Toolchains for STM32

sholojda
Associate III

Hi. I am a little bit confused.

Why there is so many toolchains for ARM and what are the differences betwen them?

Lastly i heard abot Yagarto, and also these is WinARM, arm-gcc, arm-none-eabi-gcc. Are they all the same? which toolchain should i use?

I also heard about somethink called cygwin, what is that?

25 REPLIES 25

Keil is very expensive, no chance to get it for home purpose.

Crossworks ARM seemed to be fine but i tried to write some example programm, and i find it to be difficult. I am used to gcc and i think it ist hard to switch to crossworks

Most probably not.

A proper toolchain/IDE usually comes with all the required binaries.

Cygwin can provide a Unix-like shell environment for porting *nix packages to Windows, and even a graphical X11 environment.

Is gnu-gcc so bad? I think most of people use it. I know it ist free but if it would be so bad there would be another free tollchain.

Segger is also free but i think it is difficut to use

> If you think of hardware debugging, you want more tools, maybe openOCD, gdb. It will give you a hard time.

There's a learning curve for sure, but once you get over it you gain freedom as in not depending on quirks of IDEs.

VisualGDB (not free but not that prohibitively expensive either) is praised as a debug-only tool (I don't use it but I see its appeal) which allows, well, visual debugging =) while allowing the freedom of using "normal" command-line (mostly GNU) tools and any suitable programmer editor (although being based on Microsoft's VisualStudio, it naturally pushes towards using that as the programming editor, too).

JW

Not necessarily.

Sometimes it's good to have a linux-like environment at hand, to use some of the rudimentary linux-based tools (e.g. shell (bash)); but it's not a necessity. Also, some of those linux-based tools can be acquired in other ways under windows, e.g. as part of the MinGW package.

I personally use these tools in the way they came with WinAVR.

JW

Piranha
Chief II

For a serious use EmBitz is also a very good option. It can be used with STM32 or any Cortex-M at all with a configuration similar to this. It's a small and fast Code::Blocks (native code, not Java bloatware) based IDE with GCC toolchain and works with ST-LINK and J-Link debuggers. It has some minor problems, but overall it's a no-nonsense tool that just does what it's supposed to do.

chaaalyy
Senior II

Also worth a closer look: VisualGDB, a plugin for cross platform development with Visual Studio (Free community edition is enough...). You can find it on www.sysprogs.com

VisualGDB is not only debugger - though yes, its appeal is in easing debugging. It has add-on for Visual Studio to create and manage projects, and they provide ARM toolchain for Windows. They have great support for STM32. Overall, for a 32-bit Windows-based amateur, IMHO it is a very attractive choice.

-- pa

@sholojda​ If you can tell more about what you plan to do with STM32, and your background/skills, you'll get better advise.

-- pa

I am quite a beginner, so i am so sorry for my "stupid" questions. I've used AVR so far, but I really liked STM32 as they are 32bits and are really available and have cool evaluation boards.

nevertheless they are realy hard to understand at the beginnings, a lot of informations. there is a lot of misguided infos like IDEs. instead of practicing writing programs i have to fight with IDE. I got a little lost in it (lot of commpilers, lot of debuggers, strange names like Cygwin). I do not know what do I need to have a good IDE (how to install it to get this working). For example, I have try to use Eclipse (neon) and ARM GNU plug-in but a iave error while installing, and by now i have no idea why it does not want to install itself.

I will try VisualGDB maybe this tool will be nicer to use., but it needs Microsoft Visual Studio this mean that is not one package tool