1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

GCC compiler for ARM7-TDMI

Discussion in 'Embedded' started by news.inet.tele.dk, Jul 6, 2006.

  1. Hi all,

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

    http://www.rowley.co.uk/arm/index.htm

    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
     
    news.inet.tele.dk, Jul 6, 2006
    #1
    1. Advertisements

  2. --

    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 (http://www.gnuarm.org 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.

    http://www.FreeRTOS.org
    *Now for ARM Cortex-M3!*
     
    FreeRTOS Info, Jul 6, 2006
    #2
    1. Advertisements

  3. news.inet.tele.dk

    Tom Lucas Guest

    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.
     
    Tom Lucas, Jul 6, 2006
    #3
  4. news.inet.tele.dk

    Dr Justice Guest

    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:
    http://www.raisonance.com/products/STR7/benchmark.php.

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

    DJ
    --
     
    Dr Justice, Jul 6, 2006
    #4
  5. news.inet.tele.dk

    Leon Guest

    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
     
    Leon, Jul 6, 2006
    #5
  6. news.inet.tele.dk

    gjgowey Guest

    I've never used their products, but Green Hills also makes compilers
    that compile for the ARM architecture.
     
    gjgowey, Jul 6, 2006
    #6
  7. 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
     
    An Schwob in the USA, Jul 6, 2006
    #7
  8. yes...I found that AN earlier today....very interesting results actually.

    So far it sound like the Crssworks is wurth an investment.
     
    Morten M. Jørgensen, Jul 6, 2006
    #8
  9. news.inet.tele.dk

    Gary Pace Guest

    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
     
    Gary Pace, Jul 7, 2006
    #9
  10. news.inet.tele.dk

    Eric Guest

    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
     
    Eric, Jul 7, 2006
    #10
  11. news.inet.tele.dk

    Tom Lucas Guest

    "Errors", sure, that was purely by accident ;-)
     
    Tom Lucas, Jul 7, 2006
    #11
  12. news.inet.tele.dk

    Dr Justice Guest

    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
    --
     
    Dr Justice, Jul 7, 2006
    #12
  13. news.inet.tele.dk

    Chris Hills Guest

    Actually they replaced the Keil compiler with the ARM Real View one.
     
    Chris Hills, Jul 8, 2006
    #13
  14. news.inet.tele.dk

    Chris Hills Guest

    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, Jul 8, 2006
    #14
  15. news.inet.tele.dk

    Chris Hills Guest

    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, Jul 8, 2006
    #15
  16. news.inet.tele.dk

    Chris Hills Guest

    !!! :) 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, Jul 8, 2006
    #16
  17. news.inet.tele.dk

    Dr Justice Guest

    [snip]
    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
    --
     
    Dr Justice, Jul 8, 2006
    #17
  18. news.inet.tele.dk

    Dr Justice Guest

    [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
    --
     
    Dr Justice, Jul 8, 2006
    #18
  19. news.inet.tele.dk

    Chris Hills Guest

    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, Jul 8, 2006
    #19
  20. news.inet.tele.dk

    Dr Justice Guest

    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
    --
     
    Dr Justice, Jul 8, 2006
    #20
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.