Selecting a STM32 IDE / compiler / debugger.

Hello,

I’m starting working on a new version of an already existing product.

The previous version use a PIC24HJ and dev has been done using MPLAB X.

The new version use a STM32F205RG and I’m looking for the right toolchain to work with.

I need :

  • An editor with code completion, easy navigation (typically ctrl-click) and automatic indentation AT MIN.

  • Compiler + Debugger.

  • Efficient Support.

  • Code examples (using the standard periph lib, not the Cortex-M3 SFRs like Keil’s code examples).

  • Windows 7 x64 host (no, won’t change).

  • No budget limitation.

The current JTAG probe is an ST Link connected through full JTAG port, I can change the probe if required.

I started evaluating Atollic TRUEStudio PRO but their stlinkgdbserver.exe keeps crashing all the time.

I also tried Keil and IAR but their editors are far from the bare minimum I’m looking for (or maybe I missed something …).

I tried Crossworks but still no code completion, no easy avigation, no indentation …

I’m downloading an evaluation version of CodeSourcery, but I think they don’t support natively the STLink (which probe to use then ?).

At the moment the one I’d chosse is Atollic if they can make their gdbserver working properly, because they are based on Eclipse and so have a real code editor.

Did I miss a challenger ?

Thomas.

TrueStudio with STLink worked fine for me with the STM32F100/103 series. I have switched to using CrossWorks exclusively with STM32F and FreeScale KINETIS.

I’ve used IAR’s tools with J-link for JTAG and flash breakpoints for several years. Bug free. Excellent US phone support.

Well documented.

Thus, not free.

I’ve tried Rowley CrossWorks tools with the STM32 Discovery. They work OK.

Hello,

I’m currently trying TASKING VX-Toolset from Atlium (the ones from Altium Designer …) and it seems very good to me, fast debugger, use STLink, not too much expensive (<2000€ with 1 year support), based on Eclipse hence a very good code editor, etc.

Regards,

Thomas.

I haven’t looked for your specified chip, but have you checked the Raisonance offering?

http://www.raisonance.com/

You seem to be able to pay for support, but so far you have eliminated all the pro offerings.

I use ProgrammersNotepad2+codesourcery lite, which I started a rudimentary special project template for the F103 series along with startup files . Debugging I have not gotten working, but in THEORY openocd and a hw debugger like olimex? or the seeedstudio one should work. I believe the seeedstudio one is planned to work with onewire once openocd does(its flashable hw debugger firmware is updateable).

Ota:
Hello,

I’m currently trying TASKING VX-Toolset from Atlium (the ones from Altium Designer …) and it seems very good to me, fast debugger, use STLink, not too much expensive (<2000€ with 1 year support), based on Eclipse hence a very good code editor, etc.

Regards,

Thomas.

At that price point, I'd think you'd be using Keil or IAR.

Hello,

Ok here is the latest refinement of my needs : anything not based on Eclipse / Netbeans / VS Shell is out of the scope.

Sorry guy but having syntax highlighting doesn’t means having a code editor.

I just cannot write code efficiently without code completion / intellisense.

I cannot code when it take me more than 5 click to go to a function description (and sometime implementation).

And I can but I don’t want to code without automatic formatting (automatic closing of parenthesis, brackets, automatic indentation, etc).

Automatic documentation is a must, etc.

The shortcuts “ctrl+space”, “ctrl+shift+F” (in eclipse) and “ctrl+click” can save me like 30 to 40% of the coding time, this is not a minor thing.

Once you get used to it, there is no way back.

IAR and Keil do not offer a decent code editor, I didn’t try Raisonnance but got them on phone (it’s a French company), their IDE is not based on Eclipse, and they don’t want to let me try one of their probes for a few days before buying.

Compiler wise, for what we are actually doing, the chip is 10 times more powerful than needed, so I don’t need the 5% performance increase or size reduction a ?k€ compiler would bring (KEIL, IAR).

Altium is a well-known company (Altium designer), their compiler is based on GCC, their IDE is based on Eclipse, the STMicro standard libraries have templates for TASKING environment, what else is needed ?

My needs really are :

  • Be able to code fast.

  • Be able to debug fast.

  • Have a lot of code examples.

Time to market is the first priority.

The 3 remaining challengers :

  • TASKING VX-Toolset : working with it for a few days, just works as expected (I need to call them today). I may keep the STLink probe or get a J-Link probe (don’t really know what it could improve …).

  • PLS with UADComp probe : but the probe is very expensive (1700€) and the offer doesn’t contain support for the compiler (I would have to use a free GCC). They may send me a probe a few days for testing.

  • CodeSourcery : seems not bad, but they only support their probe (Mentor Graphics) that I don’t have, and I think I won’t have time to test it before taking a decision.

Why would you (stevech and motopic) choose Keil / IAR / Raisonnance over TASKING ?

Regards,

Thomas.

[EDIT] It seems the TASKING compiler is not GCC based but their own compiler called Viper.

Is a J-Link Ultra + open source stuff (GCC + Eclipse + GDB) a viable option?

Like Yogarto?

Regards,

Thomas.

The Raisonance RIDE7 demo came with one of my STM boards so I played with it a bit. It seemed ok to me. Its built on Scite editor, which is basic to your experiences (I liked it ok, its extensible, etc).

I would ask alot of questions about a proprietary compiler, its history, usages…maybe talk to some of their current customers (or check their online forums). I had some surprises with the mikroC/mikroBasic compilers. The worst is you are totally dependent on one company to fix and maintain their compiler. Since I know the GCC so well I have no issues using it.

It looks to me like the Std or Pro Level CodeSourcery(with Eclipse) fits your bill the closest. Then the only problem remaining is debugging. Since CS supports GDB, you need to locate a jtag/bdm that fits your needs. You say CS only works with their DB hw?

In that case my only argument against TASKING is the proprietary compiler.

Hello,

Small update, I bought a TASKING for ARM node locked licence with 1 year maintenance (approx 2k€).

It’s working very well, and when you buy it, you get a paper version of the user guide and getting started pdfs, very handy, plus a physical CD, etc.

I assume the tasking compiler is somewhat based on GCC, at least the tasking compiler handles all gcc options (+ a lot more it seems).

The LSL (linker script) files are easy to use, and you also have a GUI editor for them.

The linker outputs a .mapxml file containing all kind of information about the binaries, sections, etc (with GUI tool to open it …).

You can output an HEX file easily.

Eclipse integration is really good (I still prefer Visual Studio for a lot of personal reasons).

Debug using ST Link (20€) probe is pretty fast and stable, plenty of options.

Didn’t really try the provided ARM simulator, as I’m working on target board directly.

I’ll try to set up a secondary dev platform using only open source software (linux, GCC, Eclipse + CDT, OpenOCD, etc) and a home made JTAG probe based on the FTDI FT232H (already worked with the FT2232H for a logic analyser project) in the coming months. So that I’ll be able to compare both solutions (and provide a free dev environment, with break out board and cheap JTAG probe for beginners … at least I’d like to, cause the Cortex-M3 and especially the STM32F2xx family is really impressive). I just need time (my daughter is born one week ago) :wink:

Regards,

Thomas.

… anything not based on Eclipse / Netbeans / VS Shell is out of the scope.

IAR is developing an Eclipse based version of their environment: http://www.iar.com/website1/1.0.1.0/2946/1/

Roberto Waltman

Hello,

This information comes a bit late but this would have been a good alternative (if they release it fast, my product must be on the market for next February) …

TASKING is working really well, and they should release a new major version soon (take a look at the ST Link V2 flyer, it says it is supported in TASKING V4.0 :wink: ).

Regards,

Thomas.

Hello Thomas, and welcome to the forum.

Selecting the right compiler is like selecting the right car, humans are different and have different taste.

Though I can recommend the [Raisonance Ride7 IDE as it is free and comes with the GNU GCC compiler. This means that there is no compiling limit at all, and it supports *all STM32 devices.

The IDE supports their Debugger tools called R-Link, which you can get in two different versions -The Lite and the Professional.

There is no limits when programming with their Debugger/Programming tools, though with the Lite version you are limited with only 32KB of Debugging. This means that if your code is bigger than 32KB, even though it’s just Data and not executable code, you can’t debug your application.

At TKJ Electronics we are using the Ride7 environment for all of our STM32 development and consultancy. We have done many jobs with this compiler and IDE, and most of our customers requires that we use this tool instead of others - mostly because it’s free and well documented.

So I recommend you to take a look at their tools, download the IDE (including the Compiler), and try the Demo applications.

Btw. In the ST Standard Periphiral Library there is also Project Files included for the Ride7 environment :)](RAISONANCE, MCU application development solutions)

mindthomas:
…Though I can recommend the [Raisonance Ride7 IDE as it is free and comes with the GNU GCC compiler. This means that there is no compiling limit at all, and it supports *all STM32 devices.[/quote]

Ota:
…anything not based on Eclipse / Netbeans / VS Shell is out of the scope.

](RAISONANCE, MCU application development solutions)

rmteo1:

mindthomas:
…Though I can recommend the [Raisonance Ride7 IDE as it is free and comes with the GNU GCC compiler. This means that there is no compiling limit at all, and it supports *all STM32 devices.[/quote]

Ota:
…anything not based on Eclipse / Netbeans / VS Shell is out of the scope.

[/quote]
Sorry, I was a little too fast at the reply.

I hope you find what you are seek, Thomas :)](RAISONANCE, MCU application development solutions)

MikroElektronika released STM32 toolchain about a week ago:

http://www.mikroe.com/eng/categories/vi … -solution/

Here’s how people on mikroE Forum reacted to compilers: http://www.mikroe.com/forum/viewtopic.p … 10#p189110

The way compiler handles GPIO initialization is quite impressive. The easiest approach so far.

I personally find EasyMx PRO v7 for STM32 board (http://www.mikroe.com/eng/products/view … for-stm32/) to be one of the best board from mikroElektronika. I especially love the EasyTFT board mounted on GLCD connector. This means that you can place either TFT or GLCD on the board, depending on your application.

Aleksandar

Look at the user reports/history of bugs/flaws in their compilers and run time libraries for Atmel. They have historically been focused on Microchip/PIC 8, essentially exclusively. They bit off more than they can chew in supporting so many CPUs and libraries.

All ARM IDEs have compilers that can be invoked from the command line, so if you want to use Eclipse, just use Eclipse? It’s fairly easy to set it up to work – especially now that all the major toolchain manufacturers provide Eclipse plugins for free with their software.

As for specific toolchains, my research group moved from IAR (EWARM) to Keil (MDK) very recently, and it’s like night and day. MDK produces phenomenal bytecode compared to GCC and IAR. It’s kind of a “no duh”, seeing as how they’re owned by ARM, and, along with RVDS, is ARM’s official toolchain.

Keil’s Eclipse plugin is easy to install and works really well, and of all the non-Eclipse IDEs out there, I think their IDE (uVision) is the least shitty.

If you want to go open-source/cheap, try the newer CooCox IDE – it’s Eclipse-based, and totally funky. Really built around CMSIS, which is great.

Just my two cents.

funkathustra:
All ARM IDEs have compilers that can be invoked from the command line, so if you want to use Eclipse, just use Eclipse? It’s fairly easy to set it up to work – especially now that all the major toolchain manufacturers provide Eclipse plugins for free with their software.

As for specific toolchains, my research group moved from IAR (EWARM) to Keil (MDK) very recently, and it’s like night and day. MDK produces phenomenal bytecode compared to GCC and IAR. It’s kind of a “no duh”, seeing as how they’re owned by ARM, and, along with RVDS, is ARM’s official toolchain.

Keil’s Eclipse plugin is easy to install and works really well, and of all the non-Eclipse IDEs out there, I think their IDE (uVision) is the least shitty.

If you want to go open-source/cheap, try the newer CooCox IDE – it’s Eclipse-based, and totally funky. Really built around CMSIS, which is great.

Just my two cents.

I totally agree with you on the CooCox IDE - it's a great solution for hobbyists who don't have thousands of dollars to spend on a Keil license.

We have been using the CoIDE for quite a while now and we really like it. Especially because it also contains the repository which makes a new project even easier to create.