ARM development - KEIL (MDK) vs. IAR (EW)

Hi all,

I have browsed the web for recent experience reports on KEIL MDK and IAR Embedded Workbench. The posts that I found are quite outdated, so I thought I start a new thread here.

I will need to buy one of those products sometime soon and I am curious about your experience with one OR/AND the other. What do you like about it, what are the weak points? I am completely aware that this questions is a little bit like "iPhone" vs. "Android" but I find it hard to decide and any suggestions will help.

There are free (size limited) version of both environments and I am having a first look, but this takes time and additionally I need to buy a JTAG probe to get the real feel of the IDEs in action.

I appreciate your input. Cheers.

--------------------------------------- Posted through

formatting link

Reply to
alemannia
Loading thread data ...

I'd add Rowley's CrossWorks to the list. I don't believe that they offer a time-unlimited free version but one does get 30 days to evaluate the full suite. It also supports quite a range of JTAG adapters, including the relatively inexpensive ones from Olimex.

Likes: Works pretty well. Has include files/packages for more ARM-core processors than I knew existed. Supports serial wire debug (SWD) mode.

Dislikes. Wish that the text editor had a vi mode!

#disclaimer: just a customer.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

I worked for a company that used the IAR for a while and the optimisation of the code that it produced was absolutely rubbish compared to the ARM compiler (that every previous company had used).

They soon swapped!

The ARM complier isn't that expensive. For a single seat you will not regret the small up front extra costs

tim

Reply to
tim....

I can't comment much on either of these, but you should be aware that there are a number of other alternatives. Someone else has mentioned Rowley - I'd add CodeSourcery and Code Red to the list of tools you should try.

You really should try out the tools yourself - asking other people will just get you personal opinions. You can get a good impression from using them without a board or a jtag debugger - they all have some sort of simulator, which can give an idea of how the debugger works and its features (though obviously no impression of the real-world speed).

You are going to be investing a lot of time, and possibly a lot of money, in these tools - it's worth spending some time picking the right tool at the start.

Reply to
David Brown

Hi,

thanks for your answers so far. I think at the end it's really a matter of personal taste.

I have been working with the ARM compiler (stand alone with Lauterbach JTAG) for quite some time and that's why I will opt for the KEIL package, I think.

I just wanted to check, if there is a killer argument in favor of IAR.

IAR:

  • USB stick based licence management. The license is not linked to your PC.

  • Support for Cortex A8, which will never be the case with KEIL.

KEIL:

  • ARM compiler.

As to the other tools, I tried CodeSourcey and it's interesting although I am not sure about their JTAG support and the whole 'Sprites' approach. Also CodeSorcery has been bought recently by Mentor. They will certainly start pushing their own products (Nucleus, etc.) through this channel now.

Anyway thanks again for your answers.

--------------------------------------- Posted through

formatting link

Reply to
alemannia

I felt a litle ripped off when they initially said unlimited updates, then upped the version number and therefore wasn't eligible for updates!! :-(

Also in my case limited by 2 hardware breakpoints.

Reply to
Fredxx

Surely that's a limitation of the ARM7, rather than the toolchain?

--

John Devereux
Reply to
John Devereux

+1

You also, undoubtedly, have your own way of "doing things" and you want to see for yourself if the tools support, encourage or *discourage* this. No one can "tell" you that...

Reply to
D Yuniskis

Which ARM compiler are you talking about ?

ARM PLC sells Keil, are you talking about Kiel ?

Are you suggesting ARM RVDS ??

The question was about IAR and Keil, are you also adding a third compiler to this mix ?

hamilton

Reply to
hamilton

Same with IAR + Segger Jlink + STRM912 CPUs That's most likely a processor limitation, not a tool's one.

-- Roberto Waltman

[ Please reply to the group, return address is invalid ]
Reply to
Roberto Waltman

If you are used to ARM/Keil, then that's a big argument in favour of continuing using it.

ARM owns Keil - I can't imagine there would be an ARM core that Keil won't support.

I expect that most debuggers work in a similar way, using some sort of "proxy" program that is specific to the hardware interface. They might hide it better, but it's a common way to modularise the debugging system and let it support a range of hardware debuggers. Tools like Lauterbach that connect by a network are sometimes a different matter.

I haven't noticed any change in CodeSourcery since Mentor bought them, but perhaps it will over time. But the core tools - Eclipse for the IDE, gdb debugger, and gcc for the toolchain - are all open source, and safe from too much Mentor-specific influence.

Reply to
David Brown

Hi hamilton,

As far as I know there is only one "ARM compiler" - armcc. It is the same compiler in the KEIL MDK package and in the ARM RVDS package. The only difference is that the KEIL package has some flags disabled. It doesn't let you compile for the ARM application processors Cortex A8/9 for example.

--------------------------------------- Posted through

formatting link

Reply to
alemannia

LOL, and the rest of us knows that how ??

So far the discussion has mentioned 5 ARM (processor) compilers.

So, the war (flame) begun has !!

hamilton

Reply to
hamilton

The one sold by ARM.

Isn't its current name Realview?

Yep. I have no experience of the Kiel so I can't do a comparison.

I can only compare IAR with ARM and TIME there is no comparison

tim

Reply to
tim....

Yes I'd forgotten that.

Is the compiler "branded" Kiel the same as the one that ARM used to sell using their own branding?

tim

Reply to
tim....

As far as I know, when Keil was a separate company, it had its own ARM compiler completely independent of ARM's compiler. When ARM bought them, I presume that they standardised on one and merged the good bits from the other - but that's just a guess.

Reply to
David Brown

The Keil compiler will not support any cores... only MCU. The RDVS supports al the cores. That is the differentiation between the RVDS and Keil.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

In message , tim.... writes

The KEil compiler is a restricted ARM RVDS

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

And accurate,.

Keil had their own (very good ) ARM7 C compiler.

When they were acquired by arm the dropped their own compiler and put a cut down version of the ARM RVDS into Keil uVision.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

Hi Chris, I suspect you are using your own private definitions of words again... :).

If it supports a particular MCU with a cortex-M3 core, say, then it supports the CM3 "core", doesn't it?

--

John Devereux
Reply to
John Devereux

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.