GCC compiler for ARM7-TDMI

Hi all,

Anyone that has experience with some of the lower cost IDE's bassed on the GCC? We have been looking at:

formatting link

We seriously considers to buy this instead of the way more expensive products from IAR, KEIL...etc. We develop applications of a med. complexity.

Any comments on this choice ?

Best Regards

-- Morten Jorgensen, IA data.

formatting link

Reply to
news.inet.tele.dk
Loading thread data ...

--

GCC will generate larger code than the commercial compilers you reference, and in particular it will use more stack, but if you know GCC is ok for your application then I have found the Rowley IDE along with their CrossConnect debug interface to be stable and generally had a good experience.

The Rowley library builds will use less stack and generate less code than the standard (unmodified) command line distributions of ARM-ELF-GCC that are about

formatting link
for example). I have examples running the same TCP/IP stack application in a multitasking environment with both GNUARM and Rowley, and find when using Rowley I am able to set the task stack sizes a fair bit lower.

Regards, Richard.

formatting link

*Now for ARM Cortex-M3!*
Reply to
FreeRTOS Info

Firstly, bear in mind that there is no Keil any more and that it has been consumed by ARM. I've heard complaints about the ARM compiler so hopefully they will replace it with Keil's.

I've been using CrossWorks for some time and have had very few problems with it (any issues were solved very quickly by their support). It took me a little while to get used to the interface but it's no problem now and is very powerful once you start getting into it.

I begun my project with the IAR compiler but it is on ice until I can find time to get their flash loader to work on my board (which has only just been released 8 months after I first asked for it). It is an excellent compiler but I do find it hard to justify the extra expense when Rowley give you nearly as much for such a lower cost. Sure the code is a little tighter and a little smaller but I've got bags of flash and RAM on my board so it's not a major problem for me.

The IAR support is pretty good and pretty fast - normally about a day's response. Rowley's is absolutely first class, though, and nearly all my queries are solved almost straight away. They really bend over backwards to help you out.

However, even with the Rowley front end it is still GCC underneath and it never fares as well in benchmarks as IAR and Keil/ARM. Code will run faster and will be smaller with the more expensive compilers. Also, if your application is going to be safety critical or have to meet exacting standards then it is probably better to go the proprietary route just to make certification that bit easier.

Reply to
Tom Lucas

complexity.

My impression is that GCC generally does pretty well; not as good as the best commercial ones but better than some, depending on the code.

The only benchmark I've found and trust is this comparison of KEIL, IAR, GCC and ARM - it may interest you too:

formatting link

I suppose one could be forgiven for thinking that the benchmarks at some compiler vendors sites seem 'not quite right' ;)

DJ

Reply to
Dr Justice

Apart from what other people have said, the Rowley debugger and simulator are excellent. It's also nice to be able to use similar tools for other MCUs like the MSP430. Rowley wrote their own compilers for their other tools.

Leon

Reply to
Leon

I've never used their products, but Green Hills also makes compilers that compile for the ARM architecture.

news.> Hi all,

Reply to
gjgowey

DJ, Help me understand this; you do not trust the benchmarks on some compiler vendors site but you trust this compiler vendor who just did not invest the resources to generate a better compiler, so Raisonance has to defend the GCC (because they are using it).

Morten, Our experience with the different compilers has been mixed. ALL generated smaller code than the standard GCC as soon as libraries where involved. Now, Rowley has own libraries that are better than the GCC libs.

Keil is now using the ARM compiler but continue to support the superior uVision IDE. IAR compiler produces similar results as ARM / Keil compiler and also supports many architectures but it is a little difficult in the setup.

If you do not have serious code size contraints and / or need the last

10% speed advantage, the Rowley is a great deal.

GJGO, Morten was asking for a lower cost alternative and while GHS might be a good compiler, the tag is way too high and a few k extra for support, which is at least for quite a while included with the other packages.

An Schwob

Dr Justice wrote:

Reply to
An Schwob in the USA

yes...I found that AN earlier today....very interesting results actually.

So far it sound like the Crssworks is wurth an investment.

-- Morten

Reply to
Morten M. Jørgensen

I think that rather than replace the ARM compiler, ARM/Keil are phasing out Keil's own compiler (CARM) and replacing it with the RealView compilation tools - together with Keil's IDE and RTOS.

I just finished porting a small-so-far (few thousand line) project from CARM to RealView. I don't know how representitive this is, but I found RealView faster than GNU and GNU faster than CARM

Reply to
Gary Pace

Yes, that was the consensus: Keil's own C compiler wasn't very good, but RealView's was among the best. But Keil's IDE was among the best, and Arm's wasn't very good. So they combined the best IDE with the best C compiler now. I think they've already switched C compilers in the latest release of uVision.

For the best "bang for your buck", consider Rowley and Imagecraft. Or, just use Eclipse with the GNU tools. This is becoming an increasingly wise choice.

By wary of benchmarks comparing gcc to other compilers. Keil's orignial benchmarks for their comparisons made a number of errors: they used an obsolete version of gcc, and they selected non-optimimum libraires, etc. To this day Keil still distributes an obsolete set of GNU tools, so you don't want to use the ones they provide.

I don't like the idea of using gcc with the Keil IDE because you still have the 16K limit in the free version. Gcc doesn't have a limit, but Keil's debugger does. So I'd use either Eclipse or Rowley's CrossWorks if I definitely wanted to use the gcc compiler.

Eric

Reply to
Eric

"Errors", sure, that was purely by accident ;-)

Reply to
Tom Lucas

Sorry, that was lacking in detailed. Of course Raisonance may have a bias, but I find their benchmark to be trustworthy because is seems thorough and fair. Especially considering that it takes the real world into acount and uses a slimmed down printf() for gcc, putting it on an equal footing benchmarking-wise with the commercially developed /embedded/ offerings. They also measure 'pure' code space and size (not measuring libraries). I've seen some vendors sites where gcc is made to look like it generally uses twice the memory of their product. Yes, out of the box a dedicated embedded compiler may look better than a general one, but that can be (and has been) fixed by using appropriate libraries. There may be better benchmarks, but I haven't found any.

DJ

Reply to
Dr Justice

In article , Tom Lucas writes

Actually they replaced the Keil compiler with the ARM Real View one.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

In article , Tom Lucas writes

It was. GCC bench marks are a moving target depending on all sorts of things including which version of the front end, back end libraries etc. as you say...

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

In article , Dr Justice writes

I wonder which ARM compiler Rasionance supply...

Interesting that the GCC fans only like the becnhmarks which show GCC as one of the better compilers and ignore all the rest.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

In article , Dr Justice writes

!!! :-) only because it favours your favourite compiler (one that they supply)

So these trustworthy benchmarks do things to favour the GCC compiler.... Anyone can spend time tinkering with the setups to favour any compiler.

SO you don't use libraries?

As pointed out: out of the box GCC is not that good. Now you say the libraries are poor. Well if you want to spend time messing about configuring and building the system work out the cost... The cost of an Engineer to a company is about 60GBP/100USD per hour. SO the cost of putting together a better GCC is going to cost in real terms. Time is NOT free.

BTW if the GCC libraries are not that good why should the rest of it be better?

There are quite a few but none you would accept as they don't show the GCC to be the best.

IAR for example use 20 real world projects. I think some of them belong to real customers. You don't get much more real world than that. They also usually give all the version numbers and settings for all the compiler they ran the benchmakrs on.

Keil provide the source of benchmarks on the website... or at least they used to so anyone could recreate them on any compiler.

There are other benchmarks I have seen. The only ones I have seen that show Gcc is any good come from people supplying or using GCC.. sop the are not better than anyone else's.

The bottom line is that unless you want to pay for a configuration or spend time (==MONEY) on a GCC set up it will be not as good as the commercial compilers.

Nothing is free in this world. EVER. There is always a cost.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

I you had read this thread before replying, you'd be aware that this has been mentioned and is known to the participants.

That was an unfair, untrue and and unnecessary comment, Mr. Hills. Again, if you had bothered read this thread... How about pointing us to all those benchmarks instead.

DJ

Reply to
Dr Justice

bias,

and

[This message appeared after the one I previously replied to]

I have never stated that this is my favourite compiler?

No, they do things to equalize the premises for an embedded benchmark scenario. They are testing compilers, not libraries.

Yes, I do. But e.g. not the out of the box printf() in the case of GCC.

[snip]

Right, and on that bombshell I think there is little point in continuing this. Frankly this is too much like a troll/attack/ridicule and does not appear to me to be conductive to good discussion.

DJ

Reply to
Dr Justice

In article , Dr Justice writes

It was a rhetorical question. It was important to point out that the "trustworthy" benchmarks you cite are as biased as any other.

Not in my experience.

Why if it is accurate? Which I believe it is.

They have already been posted.

Do you want a technical discussion or just to make personal attacks?

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

I want a technical discussion, as I'm sure the OP does. I'm not making any attacks. However, I had to defend myself against assertions like:

"Interesting that the GCC fans only like the becnhmarks which show GCC as one of the better compilers and ignore all the rest."

"There are quite a few but none you would accept as they don't show the GCC to be the best. "

"Now you say the libraries are poor."

These are all plainly untrue, and none are something that I've ever stated. It is difficult to discuss when your party is making up attributions like these. I'm sure you're a good bloke, and that this twist of the thread was just an unfortunate incident. Lets just drop it and not pollute c.s.a.e, please.

DJ

Reply to
Dr Justice

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.