Wants an update on ARM compilers

Could anybody please show me a list of popular ARM compilers and their approximate costs? For GCC compilers we can put the costs as 0.

It will be even better if you can give me your opinion about the followings performance with 1-10 mark (10 the best, 1 the worst). code density, Speed of execution targets and hosts supported Other tools that work with it. Support from vendor (et al)

Thank you!

Reply to
Johnson
Loading thread data ...

That will surely get a response from the anti GCC brigade. Somebody will tell you that GCC costs the most if you look at total cost of ownership [yawn].

Unfortunately you will get as many different answers as respondants. Why not get the free or eval versions and try it yourself? It will not take long. In reality the cost of the compiler is a tiny fraction of an entire project cost, but the decision you make will be with you for years so really you want to invest the time in trying the various options no matter what.

(The only advice I'm parting with is don't beleive any comparative figures the vendors themselves give you.)

--
Regards,
Richard.

+ http://www.FreeRTOS.org
Designed for Microcontrollers.  More than 7000 downloads per month.

+ http://www.SafeRTOS.com
Certified by TÜV as meeting the requirements for safety related systems
Reply to
FreeRTOS info

A web search for "arm compiler" lists all of the popular ones as well as quite a few I'd never heard of before.

As Richard @ FreeRTOS suggests, grab evaluation copies and try them out. Best to worst? Too hard. Some people want fancy IDEs, others like vi. Some must have a do-everything kit, others prefer to pick and choose, with a compiler here, JTAG dongle there, and the loader/debugger from someplace else.

For one data point, I'm happy with Imagecraft's compiler, a Segger J-Link, and the NoICE debugger.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

ll

I'd agree the TCO is far beyond the price of the tool.

It also includes things like making virtual network adapters on your laptop in order to get the license file from your desktop to work on the machine you need for a leading customer interoperability fieldtrip... and the hair replacement treatment after the vendor drops support for the compiler needed for your still-shipping product... or all the diet soda consumed while commenting out bits of your projects so that the "of interest today" part will compile on the code- size-limited demo, or....

In other words, it's not so much the cost of the proprietary tool... it's all the ways that the vendor can stab your productivity in the back should they choose to or even just not care.

I like processors where you can load them with a serial cable... and toolchains that can be neatly and legally archived with the project source in a virtual machine image of a suitable operating system installation.

Reply to
Chris Stratton

The Rowley tools are very good, and work with a variety of JTAG interfaces. I use their own CrossConnect interface.

Leon

Reply to
Leon

Armaide is a complete integrated development system which includes a compiler and linker for an ARM7 compiler for the Oberon-07 programming language. For details see:

formatting link

Code density and speed of execution is very good. Code generation

*predictability* is also considered to be an important factor for the production of *reliable* software. For a full description of the internals of the compiler refer to Niklaus Wirth's article "An Oberon Compiler for the ARM Processor" (16 Apr 2008):

formatting link

Targets currently supported are the LPC2xxx family of MCUs from NXP.

Costs depend on the length of the support period and are detailed on the 'Orders' page.

Technical support is by email - on business days you will normally receive a reply by email within 24 hours. At all other times you should receive a reply on the next business day at the latest.

-- Chris Burrows CFB Software

formatting link

Reply to
Chris Burrows

Thank you for the information. That is great!

Reply to
Johnson

In message , FreeRTOS info writes

The only reason why those of us who live in reality have to point out the real cost of ownership is far more than the initial buy price is the GCC brigade refuse to admit it. [Yawn]

There are many costs involved. To recommend an ARM compiler one would need some more information what sort of project, preferred host, number of developers. Etc.

Some GCC compiler packages come with support that costs money. Some GCC compiler packages come with utilities etc that costs money. In those cases it is easy to work out the price points.

Also do read this page as not all GNU/Linux implementations are approved of

formatting link

Other GCC compilers do not cost as such but will cost to put together, maintain and get the right libraries and set it all up. One of my customers estimated that it had cost them 3K in time to set up GCC... now if you are looking at 1 or 2 seats it there is little saving over some commercial compilers. If you are looking at 6 seats then there is a saving.

The other point is the support for a particular device and how good that support is. Some parts only get relay good support from one or two commercial compilers because they get the inside line with the silicon companies.

The efficiency of the compilers and their support tools varies. GCC is a compiler collection. There will be more than one GCC arm implementation.

Try out all the eval versions of the commercial compilers and the various GCC compilers. Try it on real code... benchmarks are pointless unless you are writing benchmarks.

Finally check the licences....

Most commercial compilers can be transferred between a desktop and a laptop. The GCC fanatics always try and spread crap about that.

Most important is to check the licenses with the GCC compiler At the moment there is GPL2 and GPL2 and several other variants and versions.

For GCC compilers this also means choosing your compiler library very carefully as there are different license for those too.

There is an over view here.

formatting link
and
formatting link

If you have any doubts about the religion attached to GCC and FSF just see their new campaign:

"The Free Software Foundation (FSF) today launched its "Windows 7 Sins"

formatting link

Make no mistake with FOSS you are joining a political organisation that runs political campaigns

formatting link

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

Since the GPL doesn't apply to the produced binaries, this is not going to be relevant for most users.

For LGPL libraries (most of them) you only have to worry when you modify the library itself. Again, not terribly relevant for most users.

Of course, you need to take a quick look, but that's less work than trying to understand a typical EULA supplied with commercial products.

No, you're just using their products. You don't have to agree with anything they say.

Reply to
Arlet

Not correct, as I read the LGPL terms:

  1. Combined Works. ... d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.

So it appears that using the LGPL ==> (supply source) or (supply linkable object module).

If releasing the IP source isn't an option then the app must be built to use shared libraries instead of being statically linked, which won't be popular (or even possible) with many smaller embedded projects.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

No. It says: "Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application"

Meaning binary object code (.o file) that can be statically linked against the library.

Reply to
Arlet

In message , Rich Webb writes

This is the problem... most FOSS/GCC devotees have not actually read the licenses. The follow the mantras but not the legalese

Which makes GCC unusable for most embedded system?

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

Which makes it completely unusable for 99% of embedded systems.

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

That is being disingenuous. IF you ship the binaries you have to provide the source if you include any FOSS code... ie the compiler libraries if you get the wrong ones.

*Most* which is why I said you have to check which ones you use.

For some you have to let users be able to modify the library and re-link it. Which makes it virtually unusable for most embedded systems.

Some NOT all... so you do need to check the license.

COMPLETE CRAP! I can supply 2 commercial RTOS and sets of libraries for TCP/IP, graphics, USB etc where the license is 1 sheet of A4 with 10 point type and only about 8 clauses.

The GPL overview is about 50 pages!

Just be totally reliant on them for support.....

What is worse they are totally unpredictable and may or may not shut you out in the future. Because they are religious and the normal commercial restrictions of not pissing off your users do not apply they can do completely non-sensical things. (Or GPL3 as it is called by some of the community :-)

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

CAREFUL ! The first time you need to see what's going on in that library and/or fix it, you're in deep trouble without the sources. Sadly we've been bit by this MANY times. Library sources are a lot more important than compiler sources for most folks, and this is where you have to ask careful questions...

Best Regards, Dave

Reply to
Dave Nadler

If you're using GCC such an object file is trivial to produce. The fact that the system is embedded doesn't make any difference.

Reply to
Arlet

It is worth pointing that out, as it is too easy for people to view the up-front purchase price as the single cost of a tool.

However, it is *also* worth pointing out that exactly the same thing applies to paid-for software (commercial closed source or commercial open source). Whether you pay $0 or $XXXX for your initial software, you still have to consider the costs of installation, learning, maintenance, support, hardware support, etc. There is nothing special about gcc in this case - I have seen no correlation between purchase price and the somewhat hidden costs of getting development tools up and running as required.

I have seen open source tools installed by a simple wizard including IDE and debugger support up and running, and I have seen open source tools that required compilation and manual configuration to get running. But equally I have seen commercial tools that were a simple download and install, and commercial tools that involved long delays about licensing, incompatibilities with the host operating system or other installed software, etc.

Zero cost purchase price is certainly no guarantee that it will be zero cost to be able to use the tools - but equally a high purchase price is no guarantee that you won't have to spend even more time and money getting things working.

These all need to be taken into consideration - all anyone can do here is give some ideas and things to think about.

Again, it is only easy to work out a starting price point that you can be sure you'll have to pay.

The key GNU people are pretty fanatical about what they like and don't like in the software world. The great majority of open source developers and users, including those who do most of the development work on gcc, are far more pragmatic. Very few people really listen to RMS (the "father" of GNU) or follow his philosophy and advice - and he does not actually expect them to. Note that this is not anything against the GPL - RMS looks at the GPL as a watered down compromise between his ideal world and the real world.

The free software philosophers are somewhat like the Green Party in politics. They have important things to say, and help keep others honest, but everyone is glad they only have very limited power.

And what are the corresponding costs for setting up alternative commercial tools? Those also involve time and money. They may still work out as cheaper overall, but paying up front does not mean instant setup.

Again, this applies to gcc and commercial tools. I've seen cases where gcc has had better device support than expensive commercial tools provided by the device manufacturer. It is always important to check, regardless of your tool vendor.

The "compiler collection" in gcc refers to the different language front ends in gcc (C, C++, Fortran, Java and Ada for standard gcc). But you are correct that you can get "gcc for ARM" from different places with substantially different features, including different libraries, different device support, and different quality of generated code. It is certainly something the would-be user must look at carefully.

Also a good point.

Don't forget to read the commercial compiler EULAs too!

Some licenses can be easily transferred, some cannot, and some charge extra for "floating" licenses rather than "fixed" licenses. Most certainly *can* be transferred, but it is important to check what the license transfer rules are. This also applies to commercial gcc implementations.

The license for the compiler does not matter unless you want to copy and/or modify the compiler.

There are good reasons why most embedded gcc installations do not use FSF libraries - the LGPL is typically not suitable (standard glibc is also not very efficient for embedded systems, but that's another matter). There are no licensing issues involved in using gcc's runtime library with gcc-generated code.

Do you pay taxes to your government? Does that mean you unquestioningly support all their decisions and policies? Do you have an Intel processor in your PC? Since Intel have development facilities in Israel, does that mean you automatically support the politics of the Israeli government? You use Microsoft software, and Microsoft have been convicted in criminal and civil law courts. Does that mean that by using Windows, you have joined a criminal organisation?

You are clearly being ridiculous here - and I believe you know that. People use gcc because it suits their *uses*, not because they are joining a political campaign! If you want to donate time and money to the political side of FSF, that's a different matter.

Reply to
David Brown

Not at all disingenuous. Whether you include any GPL code in your project is not related to the compiler license, which is exactly the point you brought up. The library license is a different issue. GCC doesn't force you to use any particular library. In fact, some embedded applications may not even need a library.

Reply to
Arlet

Whew! I was worried for a while we weren't going to get to see this argument replayed in this thread. There's got to be some sort of embedded-systems corrolary to Godwin's law that says once the arguement starts about the "cost" of a Gnu toolchain...

--
Grant Edwards                   grante             Yow! I joined scientology
                                  at               at a garage sale!!
                               visi.com
Reply to
Grant Edwards

Really... So how do you replace the object file in my Microwave oven? Car ECU? MP3 player?

Giving the object file to a competitor is commercial suicide in many areas

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

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.