Author Topic: If you had to start over today with STM32... which toolchain? GCC? Kiel?  (Read 23999 times)

0 Members and 2 Guests are viewing this topic.

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 331
I'm kicking around Rowley and aside from a couple annoyances, I'm almost ready to pull the trigger on a commercial license. I like the idea of GCC and Clang being free, reliable, portable to other IDEs, etc. Rowley's CTL/RTOS is appealing.

I'm hesitant because everything out there seems to support Kiel uVision and with ARM owning them, I don't see that changing. I'm migrating from PIC and don't want to chose "poorly" (face melt off and the whole nine). Kiel also has apparently great RTOS for free.

I can find almost no modern comparisons of Kiel vs Rowley vs Atollic vs anything else (I know IAR is out there, but I don't like the 90s IDE, it's a factor). Everything I've been able to find is from 2010-2012 and for all I know Kiel's IDE that a lot of people complain about has gotten a lot better.

Is mbed an option for serious projects?


The price difference is at least 3x but I don't care IF it's the right tool. I want to choose "not poorly".

What would you guys use today if starting fresh?
« Last Edit: May 20, 2015, 07:31:47 AM by jnz »
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 11211
  • Country: nl
    • NCT Developments
Good question. IMHO it's worth looking into an Eclipse based IDE. All the vendor provided IDEs I have seen so far seem to have originated from an afterthought. "Oh now we have built this great toolchain but hey, let's also give the user also something slightly better than notepad with lot's of eyecandy"  :palm:
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Christe4nM

  • Supporter
  • ****
  • Posts: 242
  • Country: nl
As I understand Keil uVision and IAR EWARM are equally good with either having a few minor things the other lacks. For example IAR has a nice hardware debugger tool that can be used to match  current draw to your application. While Keil, being an ARM brand probably has the most optimized compiler for ARM MCUs.
I don't know anything about Rowley Crossworks, but they are mentioned a lot together with Keil and IAR of you are looking for an IDE for ARM.
If you want to put down (serious) money, do try working with the candidates for a while. That way you can experience how it works for you. At that level all compilers should be about equally good. So I think it comes down to which IDE you experience as working nice for you.

When it comes to vendor IDEs I happen to use Freescale's Kinetis Design Studio which is Eclipse based and to me does not at all feel like an afterthought. It is Freescale Kinetis only though, but it's free, unlimited code size and I like those Kinetis MCUs anyway.
Also NXP acquired CodeRed which is now branded LPCXpresso iirc. I don't think that formerly CodeRed can be named an afterthought. Though I don't know what NXP did with it.
Just to say that there are also vendor provided tools that do work well.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6017
  • Country: us
Also NXP acquired CodeRed which is now branded LPCXpresso iirc. I don't think that formerly CodeRed can be named an afterthought. Though I don't know what NXP did with it.
Just to say that there are also vendor provided tools that do work well.

I am using lpcxpresso and am very happy with it. Easy to install (a single package includes the IDE and the toolchain) and works on Mac, Linux and Windows. It supports the standard eclipse C++ features as well an optional hardware debugger as well as other stuff I don't use.

Not sure though what is available for ST.
Drain the swamp.
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 1169
  • Country: gb
Keil every time, unless I had to pay for the licence out of my own pocket :)  It's one of the best development tools I've worked with, and produces very well optimised code.  In the last 5 years we've only experienced one significant bug in the compiler as well.
 

Online gmb42

  • Regular Contributor
  • *
  • Posts: 140
  • Country: gb
I keep punting this, but no-one else seems to comment.  For STM32 on Windows, ChibiStudio is an all-in-one install of Eclipse\GCC\OpenOCD along with Eclipse plugins to give insight into the ChibiOS parts.

I haven't tried, but I think it's also good for a non-ChibiOS project as well.
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: gb
  • Will design for cookies
I chose CrossWorks about a year ago, and certainly don't consider it a 'poor' decision.
 

Offline neslekkim

  • Super Contributor
  • ***
  • Posts: 1204
  • Country: no
Keil every time, unless I had to pay for the licence out of my own pocket :)  It's one of the best development tools I've worked with, and produces very well optimised code.  In the last 5 years we've only experienced one significant bug in the compiler as well.

What is the price of Keil for Arm?, only way to find out is to request a quote, and as an hobbyist I guess it's to expensive anyway, but it would be nice to know what it cost.
I guess if one buy the pro or standard, that one can compile to any arm mcu?, but do one have to pay yearly fee?
 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 331
Keil every time, unless I had to pay for the licence out of my own pocket :)  It's one of the best development tools I've worked with, and produces very well optimized code.  In the last 5 years we've only experienced one significant bug in the compiler as well.

What is the price of Keil for Arm?, only way to find out is to request a quote, and as an hobbyist I guess it's to expensive anyway, but it would be nice to know what it cost.
I guess if one buy the pro or standard, that one can compile to any arm mcu?, but do one have to pay yearly fee?


For me... I'm looking at $1500 for Rowley and $5000-6000 for Kiel.

mikerj: That's good info and I guess I should look at getting the Kiel eval version today and see if there is anything signifigantly different. I had been concerned that if I stick with GCC now, I'll keep code portability to other tools, but in reality, the code should remain portable since I'm going to work off of the STM32 StdLib (pretty much sticking with STM32 for now, they offer the widest range of ARM parts that fit my needs for automotive)... The only things that would be unique are the startup and linkers, but the IDE pretty much handles those anyhow.

There isn't anything I dislike about Rowley, I just want to make sure I'm on a platform that I can grow with. I'm slightly concerned about Rowley's forum being sparse, they don't get ANY love from STM at all, and I've been through 4 tool chains now, I'm ready to settle down ;)

All the comments so far very appreciated!
 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 331
I keep punting this, but no-one else seems to comment.  For STM32 on Windows, ChibiStudio is an all-in-one install of Eclipse\GCC\OpenOCD along with Eclipse plugins to give insight into the ChibiOS parts.

I haven't tried, but I think it's also good for a non-ChibiOS project as well.

To be honest, I can't remember if Chibi or Coox is Chinese, but the documentation on one of them was enough to immediately deter me.

As to Open and Free solutions, no offense, but that's the last thing I want. I want someone with a great sum of my money that I can bug if something has gone wrong. I pretty much require a paid solution. Eclipse in this instance is off-putting because it's great when it works but not ideal when you have to tinker with it.

I'm migrating from 8bit PIC to 32bit ARM, I have ZERO time to tinker. I've got a project that I've got to get out the door and in production asap. The idea of using all free/open tools scares the crap out of me. I'm sure it's good stuff, but in this case I'm looking at Rowley or Kiel because I can have someone on the line.
 

Offline Stigaard

  • Contributor
  • Posts: 36
  • Country: dk
Following along with this thread does anyone have any experience with the Tasking compiler by Altium (http://www.tasking.com/products/arm/) is that any good ?
 

Offline peter.mitchell

  • Super Contributor
  • ***
  • Posts: 1563
  • Country: au
if you're a hobbyist and you're just using STM32s, buy a set of discovery boards and activate the codes, and you get 3 years free keil, i can't remember what the size limit is for M4 but i know for M0/M0+ its 256k which is huge for m0
 

Online gmb42

  • Regular Contributor
  • *
  • Posts: 140
  • Country: gb
To be honest, I can't remember if Chibi or Coox is Chinese, but the documentation on one of them was enough to immediately deter me.

Chibi is the RTOS, Giovanni, the ChibiOS dev, has produced ChibiStudio as an easy means of getting a full featured Eclipse\GCC based dev environment on Windows.

As to Open and Free solutions, no offense, but that's the last thing I want. I want someone with a great sum of my money that I can bug if something has gone wrong. I pretty much require a paid solution. Eclipse in this instance is off-putting because it's great when it works but not ideal when you have to tinker with it.

ChibiOS itself is available under a commercial licence with support, but the IDE\toolchain is your standard Open Source\GPL offering.

Personally, I don't mind paying for good commercial tools as in-use they can make my life a lot easier, but I've always been disappointed when it comes to support for them.  I've found that if you can get the vendor to take an interest in your case, then you often have to be prepared to wait a long time for a fix until it fits into their commercial release cycle.

I've never used Crossworks so can't comment on their support for their own products, although I've looked at it from time to time as it does seem to offer a good environment.

I have noted though that Crossworks uses standard GCC\LLVM-Clang for the toolchain (with a little patch for the section names and some debug info) so although the vendor might appear to offer support, I would suspect any bugs in the toolchain will be deferred to the GCC\LLVM maintainers.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 11211
  • Country: nl
    • NCT Developments
As to Open and Free solutions, no offense, but that's the last thing I want. I want someone with a great sum of my money that I can bug if something has gone wrong. I pretty much require a paid solution. Eclipse in this instance is off-putting because it's great when it works but not ideal when you have to tinker with it.

I'm migrating from 8bit PIC to 32bit ARM, I have ZERO time to tinker. I've got a project that I've got to get out the door and in production asap. The idea of using all free/open tools scares the crap out of me. I'm sure it's good stuff, but in this case I'm looking at Rowley or Kiel because I can have someone on the line.
In that case you better spend your money on someone who can setup an environment and write some base code to give your project a head start. The people at Rowley and Keil won't be able to write code for your project. Either way you will have to spend time to learn how to work with the IDE whether it is Eclipse or not.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6017
  • Country: us
What is the price of Keil for Arm?, only way to find out is to request a quote, and as an hobbyist I guess it's to expensive anyway, but it would be nice to know what it cost.

Using a free tool will make your hobby projects more useful if you will decide to open source them.
Drain the swamp.
 

Offline AlfBaz

  • Super Contributor
  • ***
  • Posts: 1861
  • Country: au
My 2 cents is what are you getting for those price tags when gcc and eclipse are free.

Sure you may spend some time getting to know the compiler, gdb, openocd and eclipse but if you aren't in some business situation, spending a week learning the aforementioned tools to save your self 1500 bucks has to be worth it, especially since you nearly always get caught up with some problem that requires you to delve into the tool chain's innards and the settings for most ide's generally require you to know these things anyway

Getting back to what you are getting for the price, how do the compilers compare in speed and size optimisation, what do they offer in tweaked pre-compiled libraries, for example microchip claim their math libraries are miles ahead of the standard libs with regard to speed.

I've been using gcc and eclipse for a while now and one of the benefits that came with learning the tool chains was not having to wait for the supplier of the ide to update it so you can use new parts simply because you don't know how to set up the source files supplied by the chip vendors
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 2733
  • Country: gb
  • Will design for cookies
I wasted far more than $1500 worth of time trying to set up Eclipse, gcc and a debugger, and failing.

I don't doubt that the software is theoretically very capable, but I'd urge anyone advocating it to take the usual internet advice of "do a search", and take a look at what documentation a Google search actually returns. There's a huge amount of stuff out there that's irrelevant, outdated, hard to navigate, or otherwise just plain useless unless you already know what you're looking for and where to find it.

If I were still 16 years old with a computer, no money, and a lot of free time on my hands, then maybe I'd have persevered for longer, but I'm not. I'm a professional engineer with a job to do, and time is money.

I bought CrossWorks, installed it, and it worked. I was immediately able to plug my PC into a dev board, download some compiled C code to it, and debug it. No issues at all once I'd got beyond the "wow, that's a lot of icons" stage.

A year later it still "just works", and when I do need tech support, I have someone to email or call, and it's actually their job to answer. None of this "post on a support forum and hope" crap.

The underlying compiler is gcc, so its code should be identical to any other IDE that uses gcc.
 
The following users thanked this post: Darren

Offline neslekkim

  • Super Contributor
  • ***
  • Posts: 1204
  • Country: no
if you're a hobbyist and you're just using STM32s, buy a set of discovery boards and activate the codes, and you get 3 years free keil, i can't remember what the size limit is for M4 but i know for M0/M0+ its 256k which is huge for m0

Wow, which codes?, I have loads of discoveryboards and nucleoboards, I only found unlocked keil for the lower end nucleo's, nothing for m4 (I want to try to compile .net micro framework for .net)
 

Offline neslekkim

  • Super Contributor
  • ***
  • Posts: 1204
  • Country: no
What is the price of Keil for Arm?, only way to find out is to request a quote, and as an hobbyist I guess it's to expensive anyway, but it would be nice to know what it cost.

Using a free tool will make your hobby projects more useful if you will decide to open source them.

true, and I want to do that for most things, but rumours has it that gcc optimizes not enought for getting the .net mf on an netduino, but I have to try it.
 

Offline neslekkim

  • Super Contributor
  • ***
  • Posts: 1204
  • Country: no
I bought CrossWorks, installed it, and it worked. I was immediately able to plug my PC into a dev board, download some compiled C code to it, and debug it. No issues at all once I'd got beyond the "wow, that's a lot of icons" stage.

Interresting, and their prices are good also, for personal license, only $150, that is good for that kind of use, and upgrade if one go commercial (which I don't think I am going to do)
But Keil have no prices on their site, and I don't want to get bothered with pushy email. :)
 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 331
Wow, which codes?, I have loads of discoveryboards and nucleoboards, I only found unlocked keil for the lower end nucleo's, nothing for m4 (I want to try to compile .net micro framework for .net)

I think he's talking about the $350 dev boards, not the discovery or Nucleo boards (which now own). I'd be willing to pick up the $350 boards and get rolling... But now I'm looking at Kiel and seeing they offer middleWare in the Pro edition that I could use almost immediately (USB Host and USB Device), then soon after that (TCP and Webserver).

So now I just went from Rowley is great and only $1500 to, "I wonder if I can get my company to swing $9k/8k euro". This actually might be the cheapest solution for me... MDK Pro offers an RTOS, and all the middleware I could utilize (assuming it's good) and I don't need to shop other vendors.

 

Offline jnz

  • Frequent Contributor
  • **
  • Posts: 331
I wasted far more than $1500 worth of time trying to set up Eclipse, gcc and a debugger, and failing.

I don't doubt that the software is theoretically very capable, but I'd urge anyone advocating it to take the usual internet advice of "do a search", and take a look at what documentation a Google search actually returns. There's a huge amount of stuff out there that's irrelevant, outdated, hard to navigate, or otherwise just plain useless unless you already know what you're looking for and where to find it.

If I were still 16 years old with a computer, no money, and a lot of free time on my hands, then maybe I'd have persevered for longer, but I'm not. I'm a professional engineer with a job to do, and time is money.

I bought CrossWorks, installed it, and it worked. I was immediately able to plug my PC into a dev board, download some compiled C code to it, and debug it. No issues at all once I'd got beyond the "wow, that's a lot of icons" stage.

A year later it still "just works", and when I do need tech support, I have someone to email or call, and it's actually their job to answer. None of this "post on a support forum and hope" crap.

The underlying compiler is gcc, so its code should be identical to any other IDE that uses gcc.

You and I are 1000000% in agreement!!

The only difference, and I'll elaborate in my PM response is that you are a hardware engineer and I'm a software. With my need for the middleware Kiel provides, that's actually looking like a far cheaper solution than Rowley + CTL or OpenRTOS + a TCP and Webserver stack + USB Host stack + FileSystem, etc.

The other issue I feel is likely unique to me, is that I'm a one person team. Hardware, PC Software, Firmware, sourcing, development, prototyping, testing/validation are all on me. In this instance, I'm starting to feel that Kiel might be the go to.
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 11211
  • Country: nl
    • NCT Developments
I wasted far more than $1500 worth of time trying to set up Eclipse, gcc and a debugger, and failing.
I don't doubt that the software is theoretically very capable, but I'd urge anyone advocating it to take the usual internet advice of "do a search", and take a look at what documentation a Google search actually returns. There's a huge amount of stuff out there that's irrelevant, outdated, hard to navigate, or otherwise just plain useless unless you already know what you're looking for and where to find it.
You wrote that a couple of times but if Eclipse was really that hard to setup it wouldn't be so extremely popular. When I setup Eclipse for the first time I just followed a tutorial and made sure I had the same versions. From there it's just copying and extending your knowledge.
A random Google find: http://gnuarmeclipse.livius.net/blog/test-project/
« Last Edit: May 21, 2015, 06:20:20 AM by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online Jeroen3

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Open source is only free if your time is worthless. Right?

I use keil, because Keil is ARM. It's not free. MDK-standard is € 3950,-...back in 2012... for when I asked a single user non-profit license.  :--

Apart from the simplistic notepad it features, it does its job as it's supposed to. With plenty of documentation on the toolchain at http://infocenter.arm.com.
Keil also makes quality dev-boards for a variety of platforms. And uses very decent ulink or segger programmers. Also not free. (yet there are clones)

I must admit, on x64 it sometimes suddenly stops rendering the ui. But I'm still on the latest uvision V4 for project compatibility reason. Why upgrade when it works?

Why isn't this a poll?
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 11211
  • Country: nl
    • NCT Developments
3950 euro for a gloryfied notepad? Shudder... I have used Keil's uVision4 as well but it really is stuck in the 80's. I know from my own experience it can do a little bit more than what notepad does but uVision4 doesn't stand a chance when compared to Eclipse. IMHO uVision4 is a prime example on an afterthought IDE tinkered together by interns.

There are some really big companies behind Eclipse like IBM, Google and Oracle. They all had the same problem: no decent IDE so they joined forces and built one. There is proper documentation and if you want support then IBM is happy to sell you support for using Eclipse: http://www-03.ibm.com/software/products/nl/ratielitsuppforecli I'm pretty sure you can get paid support from other parties as well.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf