Author Topic: Keil or IAR compiler for arm  (Read 33024 times)

0 Members and 1 Guest are viewing this topic.

Offline michaelym

  • Regular Contributor
  • *
  • Posts: 64
Keil or IAR compiler for arm
« on: February 12, 2014, 10:54:57 am »
Hello,

Does any one know of a way to get the Keil/IAR arm compiler and linker for cheaper than the retail price ($3200-$3500).

For example with the Silabs 8051 processors you can get the keil C51 compiler for free.

Maybe there is another development environment that the compiler comes for free (not gcc)?

I am using is the Energy Micro (now Silabs) arm processor and aside for the prohibitively expensive compiler their free in house tools are great.

 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 18271
  • Country: nl
    • NCT Developments
Re: Keil or IAR compiler for arm
« Reply #1 on: February 12, 2014, 11:02:57 am »
Free or paid they are all based on GCC or ARM's own compiler (if they haven't switched to GCC yet).
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Keil or IAR compiler for arm
« Reply #2 on: February 12, 2014, 12:12:51 pm »
Quote
Maybe there is another development environment that the compiler comes for free (not gcc)?

There are various crippleware or kickstart versions of the compilers / ide.

Or maybe education pricing, or site licenses, etc. depending on who you are and whom you are associated with.

Those are excllent compilers / ides, particularly in the case of IAR - the ability to use one IDE on multiple mcus is priceless.
================================
https://dannyelectronics.wordpress.com/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Keil or IAR compiler for arm
« Reply #3 on: February 12, 2014, 12:13:16 pm »
Quote
Free or paid they are all based on GCC or ARM's own compiler (if they haven't switched to GCC yet).

Yeah right, :)
================================
https://dannyelectronics.wordpress.com/
 

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 12068
  • Country: gb
    • Mike's Electric Stuff
Re: Keil or IAR compiler for arm
« Reply #4 on: February 12, 2014, 12:20:12 pm »
There are free kickstart versions of most of the IAR compilers, with code size limit, and for some MCUs that limit is the whole flash (32K for ARM last time I looked). For some products  there are also cheaper versions of some products with higher code-size limits.
If looking at buying a full version, it's worth talking to a sales rep as significant discounts are often available.
 
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 7261
  • Country: us
    • SiliconValleyGarage
Re: Keil or IAR compiler for arm
« Reply #5 on: February 12, 2014, 04:41:58 pm »
Free or paid they are all based on GCC or ARM's own compiler (if they haven't switched to GCC yet).
Dream on ....
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 18271
  • Country: nl
    • NCT Developments
Re: Keil or IAR compiler for arm
« Reply #6 on: February 12, 2014, 05:00:31 pm »
Show me...
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 3502
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: Keil or IAR compiler for arm
« Reply #7 on: February 12, 2014, 06:02:26 pm »
Have you looked into CrossWorks for ARM? The full version is cheaper than most other commercial alternatives, and if you're using it for non-commercial purposes then you can get a special licence which is considerably cheaper again.

Offline westfw

  • Super Contributor
  • ***
  • Posts: 3098
  • Country: us
Re: Keil or IAR compiler for arm
« Reply #8 on: February 12, 2014, 06:23:28 pm »
Quote
(not gcc)
Why not?

Neither Keil nor IAR is gcc based, as far as I know.  I imagine they're quite careful to stay that way.  (I KNOW that Intel jumps through hoops to keep their x86 compiler "pure" from gcc contamination.)

ImageCraft now has an ARM compiler as well; also not gcc based, AFAIK.

TI also has their own ARM compiler that is somewhat reasonably priced.  I don't know whether it's legally or technically possible to get it to produce code for non-TI chips.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 7261
  • Country: us
    • SiliconValleyGarage
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 18271
  • Country: nl
    • NCT Developments
Re: Keil or IAR compiler for arm
« Reply #10 on: February 12, 2014, 08:23:01 pm »
Food for thought: how can a commercial compiler vendor compete with the enormous amount of (ongoing) effort thrown at the development of GCC? Chip makers like Atmel, TI and ARM are also contributing to the development of GCC. And why is it that real world comparisons between compilers are so scarse? None can be found on the websites of compiler vendors. Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?

Interesting fact: Keil got burned quite badly a few years ago when they compared their own ARM compiler with GCC on their website. The sneaky bastards 'forgot' to turn on GCC's optimisations after which GCC beat Keil's ARM compiler hands down. Nowadays Keil (owned by ARM) ships the ARM compiler (developed by ARM) and GCC with uVision.
« Last Edit: February 12, 2014, 08:33:51 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Keil or IAR compiler for arm
« Reply #11 on: February 12, 2014, 09:02:54 pm »
Quote
Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?

The fact that Mohamad Ali refused to fight you must mean that you are a better fighter than he ever was.

Food for thought, :)
================================
https://dannyelectronics.wordpress.com/
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 3502
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: Keil or IAR compiler for arm
« Reply #12 on: February 12, 2014, 09:08:41 pm »
Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?

Because it's too easy to perform tests which are misleading, unrepresentative, and easily misinterpreted. They're trying to protect their reputation from half-arsed "experts" and the people whose purchasing decisions might be swayed by them.

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 18271
  • Country: nl
    • NCT Developments
Re: Keil or IAR compiler for arm
« Reply #13 on: February 12, 2014, 09:25:38 pm »
Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?
Because it's too easy to perform tests which are misleading, unrepresentative, and easily misinterpreted. They're trying to protect their reputation from half-arsed "experts" and the people whose purchasing decisions might be swayed by them.
That almost sounds like FUD  ;D
Perhaps we (the users of this forum) could put a test suite together, agree on test methods and create a comprehensive compiler comparison. The most interesting numbers are the efficiency of the the compiler (optimised for speed and optimised for size) is and how efficient the C library is. I for one am not convinced to spend serious cash if I don't get a significant improvement. In the current situation it is impossible to tell if a commercial compiler is good or a total piece of crap.

Regarding the C library: I recall seeing a drystone comparison between Rowley's Crossworks and plain GCC. Even though Crossworks is also using GCC it produced slightly faster code due to a more efficient C library (which is an unwanted side effect from the drystone test BTW).
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1095
  • Country: fi
Re: Keil or IAR compiler for arm
« Reply #14 on: February 12, 2014, 09:26:39 pm »
Because it's too easy to perform tests which are misleading, unrepresentative, and easily misinterpreted. They're trying to protect their reputation from half-arsed "experts" and the people whose purchasing decisions might be swayed by them.
Too bad they're not as scrupulous when they're the ones doing the benchmarking.

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: au
Re: Keil or IAR compiler for arm
« Reply #15 on: February 12, 2014, 09:59:56 pm »
Quote
Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?

The fact that Mohamad Ali refused to fight you must mean that you are a better fighter than he ever was.

Food for thought, :)
Not food for thought but nonsense.
There is no useful analogy there.
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: au
Re: Keil or IAR compiler for arm
« Reply #16 on: February 12, 2014, 10:00:20 pm »
Quote
Perhaps we (the users of this forum) could put a test suite together, agree on test methods and create a comprehensive compiler comparison.

Love to see that, for arm cortex.
with LLVM if possible.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 7261
  • Country: us
    • SiliconValleyGarage
Re: Keil or IAR compiler for arm
« Reply #17 on: February 12, 2014, 10:36:32 pm »
Food for thought: how can a commercial compiler vendor compete with the enormous amount of (ongoing) effort thrown at the development of GCC? Chip makers like Atmel, TI and ARM are also contributing to the development of GCC. And why is it that real world comparisons between compilers are so scarse? None can be found on the websites of compiler vendors. Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?

Interesting fact: Keil got burned quite badly a few years ago when they compared their own ARM compiler with GCC on their website. The sneaky bastards 'forgot' to turn on GCC's optimisations after which GCC beat Keil's ARM compiler hands down. Nowadays Keil (owned by ARM) ships the ARM compiler (developed by ARM) and GCC with uVision.
Because the commercial vendors have access to design documents of the core under NDA that the developers of GCC not have access to.
furthermore their compiler does not have to support 25 different architectures like GCC. The compiler is targeted toward 1 architecture.
GCC tries to be a compiler for all


Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Online AlfBaz

  • Super Contributor
  • ***
  • Posts: 2011
  • Country: au
Re: Keil or IAR compiler for arm
« Reply #18 on: February 12, 2014, 11:09:05 pm »
Because the commercial vendors have access to design documents of the core under NDA that the developers of GCC not have access to.
furthermore their compiler does not have to support 25 different architectures like GCC. The compiler is targeted toward 1 architecture.
GCC tries to be a compiler for all
That may be the case for the main gcc distro but trunks (or is it branches, I never get it right) such as ARM's surely don't fall under those restrictions. I mean, who better to code a compiler than the designers of the core
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Keil or IAR compiler for arm
« Reply #19 on: February 12, 2014, 11:12:18 pm »
Free or paid they are all based on GCC or ARM's own compiler (if they haven't switched to GCC yet).

Coming from an expert like you, that's pretty shocking actually.
================================
https://dannyelectronics.wordpress.com/
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8229
  • Country: 00
Re: Keil or IAR compiler for arm
« Reply #20 on: February 12, 2014, 11:19:20 pm »
Benchmarking is simple to say but much harder to do.

We all have to agree to a set of "common tasks" - impossible;
We will need to make sure that those compilers are not purposely optimized for those tasks - impossible once the set of tasks is determined and known;
We will need to code against / around potential optimization -  very hard to do;
...

Having said that all, the limited amount of work I have done would suggest that speed-wise, GCC can give the commercial compilers a run for their money, if not beat them slightly.

Not a surprise to me: I use Keil / IAR not for their speed, or even small code size - even if Keil / IAR could beat GCC in those benchmarks. I use them for support (accountability?) and for certification (reliability / reputation?). I would venture that I am not unique in that regard.
================================
https://dannyelectronics.wordpress.com/
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 7261
  • Country: us
    • SiliconValleyGarage
Re: Keil or IAR compiler for arm
« Reply #21 on: February 12, 2014, 11:38:59 pm »
Because the commercial vendors have access to design documents of the core under NDA that the developers of GCC not have access to.
furthermore their compiler does not have to support 25 different architectures like GCC. The compiler is targeted toward 1 architecture.
GCC tries to be a compiler for all
That may be the case for the main gcc distro but trunks (or is it branches, I never get it right) such as ARM's surely don't fall under those restrictions. I mean, who better to code a compiler than the designers of the core
they may have started off as forks , but they got very little in common with the main thread of GCc now. the runtime libs are completely different, the optimiser is heavily customised and the frontend has all kinds of things like MISRA and other stuff.
None of that stuff finds its way back into mainstream GCC.

And the big key is support. good luck finding support on the forums. it's and endless vi<>emacs and gnome<>kde war ... let alone the 'you;r using the wrong operating system' bullshit.

Buy IAR or KEIL. install and develop. problem? 24/24 call let' you talk to the developers and they will fix it.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 18271
  • Country: nl
    • NCT Developments
Re: Keil or IAR compiler for arm
« Reply #22 on: February 13, 2014, 12:02:21 am »
Food for thought: how can a commercial compiler vendor compete with the enormous amount of (ongoing) effort thrown at the development of GCC? Chip makers like Atmel, TI and ARM are also contributing to the development of GCC. And why is it that real world comparisons between compilers are so scarse? None can be found on the websites of compiler vendors. Worse, compiler vendors explicitly forbid their customers to publish any comparison results. Why would they do that if their product is superior?

Interesting fact: Keil got burned quite badly a few years ago when they compared their own ARM compiler with GCC on their website. The sneaky bastards 'forgot' to turn on GCC's optimisations after which GCC beat Keil's ARM compiler hands down. Nowadays Keil (owned by ARM) ships the ARM compiler (developed by ARM) and GCC with uVision.
Because the commercial vendors have access to design documents of the core under NDA that the developers of GCC not have access to.
furthermore their compiler does not have to support 25 different architectures like GCC. The compiler is targeted toward 1 architecture.
GCC tries to be a compiler for all
I guess the people from TI, ARM, etc working on GCC have access to those documents as well. Besides that GCC is not some universal compiler framework. The backend (the part that produces the machine code and does the optimalisation) is specifically written for each target. Which also means that the speed/code density may vary for different platforms.

Commercial compiler vendors basically follow the same recipy: a front-end which deals with C/C++ and a back-end which does the target specific optimisations. They certainly won't write a compiler from scratch for every target.

My own experience with support is that the problems I run into are usually new for the support staff as well so I end up firing up Google or debug/fix a problem myself.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online AlfBaz

  • Super Contributor
  • ***
  • Posts: 2011
  • Country: au
Re: Keil or IAR compiler for arm
« Reply #23 on: February 13, 2014, 12:09:15 am »
they may have started off as forks
LOL, I was thinking of trees, when I should of been thinking about cutlery

Quote
And the big key is support. good luck finding support on the forums. it's and endless vi<>emacs and gnome<>kde war ... let alone the 'you;r using the wrong operating system' bullshit.
Whilst I have seen those tiresome squabbles here and there, the support forum for ARM's gcc seems to be pretty good in that the developers will soon respond and try addressing any real compiler issues. As it's free you do get a lot of students/hobbyists asking questions that go unanswered

Quote
Buy IAR or KEIL. install and develop. problem? 24/24 call let' you talk to the developers and they will fix it.
I had a quick look at there limited free options. If I had the cash, this would certainly be the road to travel... Install, code and debug, no messing around
 

Offline Koustrup

  • Newbie
  • Posts: 2
  • Country: dk
Re: Keil or IAR compiler for arm
« Reply #24 on: February 13, 2014, 08:52:09 am »

Maybe there is another development environment that the compiler comes for free (not gcc)?

Why not GCC?
I am using GCC for ARM, AVR, PowerPC and native (for my PC) development. I find it very useful not having to switch toolchain to do test on PC or to switch target architecture.

That may a benefit that is worth remembering?   
1000 lemmings can't be wrong; follow the flow.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf