EmbeddedRelated.com
Forums

IAR vs CCE

Started by wplagges June 20, 2007
Hi, this is my first post in this group.

I started to work for the first time with MPS430 about two weeks ago.
I received some code originally written for IAR Compiler, and my first
task is to make it run by using CCE Compiler. During this migration I
have found that, beside all the necessary changes regarding
proprocessor directives, intrinsics, memory allocation, compiler/linker
options, etc., the assembled code generated by CCE is very different to
the one produced by IAR (in both "Debug" and "Release" configurations).

My question is:
Based on your experiences, do you have any preference between the above
mentioned compilers ? Is there any reason to think that someone of them
can produce "better" code than the other in some sense ?

Thanks.

Many greetings,
Wladimir.

Beginning Microcontrollers with the MSP430

Hi,

> I started to work for the first time with MPS430 about two weeks ago.
> I received some code originally written for IAR Compiler, and my first
> task is to make it run by using CCE Compiler. During this migration I
> have found that, beside all the necessary changes regarding
> proprocessor directives, intrinsics, memory allocation, compiler/linker
> options, etc., the assembled code generated by CCE is very different to
> the one produced by IAR (in both "Debug" and "Release" configurations).

>From this I infer that CCE which "provides world class code density"
(http://focus.ti.com/docs/toolsw/folders/print/msp-cce430pro.html) obviously
isn't comparable to systems that provide galaxy-class or universe-class code
density? I mean, if it generated better code than IAR's compiler then you'd
be in clover, right? (It also peeves me that nobody actually hyphenates
correctly these days).

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
Hello!

I know only these 2 IDEs, and as in any comparison there are pros
and cons.
As for the compiler performance, IAR is clearly better. Debugging
with CCE is a pain, moving 1 step takes too much time, and usually
after 10 steps CCE loses the contact with the target. Apparently
Texas does not pour too much effort into improving thiings.

But there are good features in CCE as well. For instance a file
summary allowing to jump directly to a given function. Also UTF-8
source files is supported (IAR does not for the time being), which
might be useful if you work in a multilingual environment.

Beside this there is a price difference issue. If you use it for your
work, I would vote for IAR.

Pascal

--- In m..., "wplagges" wrote:

> My question is:
> Based on your experiences, do you have any preference between
> the above mentioned compilers ? Is there any reason to think
> that someone of them can produce "better" code than the other
> in some sense ?
>
> Thanks.
>
> Many greetings,
> Wladimir.
>
Out of all the compilers I evaluated... CCE would be my LAST choice.. If price was a concern, I would look at AQ430 by quadravox, it produces better code, The default char definition is the same as mspgcc (as a signed char), while CCE, IAR and crossworks default to an unsigned char, when looking at example code you have to take this into account....

My choice was Crossworks by Rowley.. its affordable (under $1k) and produces the best code on the projects I tried it with, the only downside is that it doesn't support the 20bit addressing of the new larger parts like IAR does, hopefully this will be rectified..

I HAVE NOT evaluated the latest AQ430 release that is supposed to support the 430x parts..

wplagges wrote:
Hi, this is my first post in this group.

I started to work for the first time with MPS430 about two weeks ago.
I received some code originally written for IAR Compiler, and my first
task is to make it run by using CCE Compiler. During this migration I
have found that, beside all the necessary changes regarding
proprocessor directives, intrinsics, memory allocation, compiler/linker
options, etc., the assembled code generated by CCE is very different to
the one produced by IAR (in both "Debug" and "Release" configurations).

My question is:
Based on your experiences, do you have any preference between the above
mentioned compilers ? Is there any reason to think that someone of them
can produce "better" code than the other in some sense ?

Thanks.

Many greetings,
Wladimir.
Thank you Pascal, Paul and Joe for your comments.

I have experienced the problems you mention while debugging.
(sometimes "Step Into" operations never end).

I have an emulation tool MSPFET430PIF which uses the parallel port.
Could I a get a better response in debug execution if I change it
by the USB variant ?

Thanks again.

Wladimir.

--- In m..., "p_murayama" wrote:
>
> Hello!
>
> I know only these 2 IDEs, and as in any comparison there are pros
> and cons.
> As for the compiler performance, IAR is clearly better. Debugging
> with CCE is a pain, moving 1 step takes too much time, and usually
> after 10 steps CCE loses the contact with the target. Apparently
> Texas does not pour too much effort into improving thiings.
>
> But there are good features in CCE as well. For instance a file
> summary allowing to jump directly to a given function. Also UTF-8
> source files is supported (IAR does not for the time being), which
> might be useful if you work in a multilingual environment.
>
> Beside this there is a price difference issue. If you use it for
your
> work, I would vote for IAR.
>
> Pascal
>
> --- In m..., "wplagges" wrote:
>
> > My question is:
> > Based on your experiences, do you have any preference between
> > the above mentioned compilers ? Is there any reason to think
> > that someone of them can produce "better" code than the other
> > in some sense ?
> >
> > Thanks.
> >
> > Many greetings,
> > Wladimir.
>
Hello Wladimir

It would probably be more or less the same. I also use it with the
PIF interface on an old PC, but one of my customers who bought CCE
for budget reasons gets a lot of problems. He started with 1.0,
then upgraded to 2.0. And there are so many problems that he went
back to 1.0.
Version 2.0 has been out for a while and apparently there is no
bugfix patch, just updates for the latest processors.

By the way, does anybody use Eclipse + MSPGCC? How does it compare
to other IDEs?

Pascal

--- In m..., "wplagges" wrote:
>
> Thank you Pascal, Paul and Joe for your comments.
>
> I have experienced the problems you mention while debugging.
> (sometimes "Step Into" operations never end).
>
> I have an emulation tool MSPFET430PIF which uses the parallel port.
> Could I a get a better response in debug execution if I change it
> by the USB variant ?
>
> Thanks again.
>
> Wladimir.
>
> --- In m..., "p_murayama" wrote:
> >
> > Hello!
> >
> > I know only these 2 IDEs, and as in any comparison there are pros
> > and cons.
> > As for the compiler performance, IAR is clearly better. Debugging
> > with CCE is a pain, moving 1 step takes too much time, and usually
> > after 10 steps CCE loses the contact with the target. Apparently
> > Texas does not pour too much effort into improving thiings.
> >
> > But there are good features in CCE as well. For instance a file
> > summary allowing to jump directly to a given function. Also UTF-8
> > source files is supported (IAR does not for the time being), which
> > might be useful if you work in a multilingual environment.
> >
> > Beside this there is a price difference issue. If you use it for
> your
> > work, I would vote for IAR.
> >
> > Pascal
> >
> > --- In m..., "wplagges" wrote:
> >
> > > My question is:
> > > Based on your experiences, do you have any preference between
> > > the above mentioned compilers ? Is there any reason to think
> > > that someone of them can produce "better" code than the other
> > > in some sense ?
> > >
> > > Thanks.
> > >
> > > Many greetings,
> > > Wladimir.
> > >
>
I do not normally 'lose contact' with the target with CCE. I use a PC
that has sufficient resources to run CCE (for example 1GB RAM).

CCE uses a lot more PC resources than IAR for two reasons.
1. Eclipse is JAVA based
2. A version of GDB that runs with CYGWIN is used.

As far as I am aware both IAR and CCE use the same MSP430 JTAG debug
dlls.

In the ARM world Eclipse with non CYGWIN GDBs are catching on like
wildfire.

Two examples
http://www.yagarto.de
and
http://www.codesourcery.com/

If TI changed to a non CYGWIN GDB then CCE would run better on lower
resourced PCs.

John Heenan

--- In m..., "p_murayama" wrote:
>
> Hello!
>
> I know only these 2 IDEs, and as in any comparison there are pros
> and cons.
> As for the compiler performance, IAR is clearly better. Debugging
> with CCE is a pain, moving 1 step takes too much time, and usually
> after 10 steps CCE loses the contact with the target. Apparently
> Texas does not pour too much effort into improving thiings.
>
> But there are good features in CCE as well. For instance a file
> summary allowing to jump directly to a given function. Also UTF-8
> source files is supported (IAR does not for the time being), which
> might be useful if you work in a multilingual environment.
>
> Beside this there is a price difference issue. If you use it for
your
> work, I would vote for IAR.
>
> Pascal
>
> --- In m..., "wplagges" wrote:
>
> > My question is:
> > Based on your experiences, do you have any preference between
> > the above mentioned compilers ? Is there any reason to think
> > that someone of them can produce "better" code than the other
> > in some sense ?
> >
> > Thanks.
> >
> > Many greetings,
> > Wladimir.
>
Hi,

> Thank you Pascal, Paul and Joe for your comments.
>
> I have experienced the problems you mention while debugging.
> (sometimes "Step Into" operations never end).
>
> I have an emulation tool MSPFET430PIF which uses the parallel port.
> Could I a get a better response in debug execution if I change it
> by the USB variant ?

In our experience, the USB FET is a bunch of trouble for many reasons.
Users continue to purchase it on spec because (a) it's fairly cheap and (b)
it has a TI sticker on it.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
Hi,

> My choice was Crossworks by Rowley.. its affordable (under $1k) and
> produces the best code on the projects I tried it with, the only
> downside is that it doesn't support the 20bit addressing of the new
> larger parts like IAR does, hopefully this will be rectified..

Large MSP430X variants using the flash above 64K require a bit of a rework
in the compiler and linker. V2 of our product is very close which
seamlessly steps around the interrupt vectors placed at the end of the first
64K. There's a whole lot more goodness in V2 along with MSP430X support.

Regards,

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
Paul Curtis wrote:
> Hi,
>
>> Thank you Pascal, Paul and Joe for your comments.
>>
>> I have experienced the problems you mention while debugging.
>> (sometimes "Step Into" operations never end).
>>
>> I have an emulation tool MSPFET430PIF which uses the parallel port.
>> Could I a get a better response in debug execution if I change it
>> by the USB variant ?
>
> In our experience, the USB FET is a bunch of trouble for many reasons.
> Users continue to purchase it on spec because (a) it's fairly cheap and (b)
> it has a TI sticker on it.
>
> --
> Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
> CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
>

Which USB FET tools made by Elprotronic, SoftBaugh, etc. is preferred /
suitable???

Or Rowley is updating the CrossConnect to support SBW???

Planning to buy one or two soon... :)

Regards,
KF