Rowley CrossWorks for ARM - C/C++

Hi everybody,

I’ve just received my Olimex LPC-P2138 dev board and I’m considering what development environment to use.

I know of 4 options:

1- YAGARTO

2- WinARM

3- IAR for ARM

4- Rowley CrossWorks for ARM ( http://www.rowley.co.uk/arm/index.htm )

Now I know that except for option 3, these environments are all built around the free compiler toolchain GCC. I’m sure options 1 and 2 are nice and have a benefit of being free.

It costs $150 for a personal use license for the Rowley CrossWorks compilers. Is it worth the $150.00?

Any comments on the merits of the using the options above?

Thanks,

The CrossWorks IDE includes an excellent debugger and simulator. Support is very good.

Leon

leon_heller:
The CrossWorks IDE includes an excellent debugger and simulator. Support is very good.

Leon

Thank you Leon. I’ve setup the GNU toolchain components in the past for different targets and I gotta tell ya, I’m tired of the “hassle”. It’s fun the first few times… but then it just takes away from development time.

I very well may opt for a commercial solution this time around…

I have Crossworks for ARM personal license and yes, to me it’s definitely worth it to avoid the hassle. I struggled with Yagarto and Openocd for a week before finally giving up. I think it had problems with my Vista64, but whatever, CW was just install, add your code to a project, compile, and run.

I used the trial versions of these. I chose to purcase IAR for ARM. I’ve been using it and a J-Link JTAG for some time now and am very please with the compiler, IDE and excellent phone support. This being a professional endeavor, my productivity is easily 20x better than with GCC. I was up and productive in a couple of hours with IAR’s IDE.

I wanted to like Rowley’s product, but it’s GCC + an IDE, and no equivalent to the debugger in IAR (and possibly Keil). And Rowley doesn’t support much of C99 like structure initializers by member name, and others.

stevech:
I used the trial versions of these. I chose to purcase IAR for ARM. I’ve been using it and a J-Link JTAG for some time now and am very please with the compiler, IDE and excellent phone support. This being a professional endeavor, my productivity is easily 20x better than with GCC. I was up and productive in a couple of hours with IAR’s IDE.

I wanted to like Rowley’s product, but it’s GCC + an IDE, and no equivalent to the debugger in IAR (and possibly Keil). And Rowley doesn’t support much of C99 like structure initializers by member name, and others.

What is the cost of the IAR tools for ARM? Can’t seem to find any prices at the website…

notronrj:
What is the cost of the IAR tools for ARM? Can’t seem to find any prices at the website…

You can get an indication of their prices by looking at one of their dealer's sites. e.g. if you were in the UK:

http://shop.directinsight.co.uk/catalog … Path=78_79[/quote]

Is there a CrossWork project for Logomatic v2 exist?

cfb:

notronrj:
What is the cost of the IAR tools for ARM? Can’t seem to find any prices at the website…

You can get an indication of their prices by looking at one of their dealer's sites. e.g. if you were in the UK:

http://shop.directinsight.co.uk/catalog … Path=78_79

[/quote]

I use IAR and LPC2xxx ARM7s. I used free evals and compared it to Rowley (GCC) and Keil and another. Purchased IAR. Very very pleased. MUCH better than GCC and the IDE/Debugger for JTAG is great.

For hobby stuff, the free limited IAR does compile a pretty large program.

I’m using Crossworks since it supports a number of the boards sold here, and was pleased to find they have excellent customer support. Also, they, unlike IAR, support the JTAG interfaces we can buy from spark.

I have used many compilers over the years. after trying Rowley CrossWorks for ARM back in 2006, it was a no brainier for us to buy it.

over these last few years with them i have had nothing but great things to say about their tools and support.

My problem with Rowley is that it’s mostly an Editor/IDE/project manager atop public domain GCC, and perhaps their own improvements to the public C libraries. It’s very good at that. But at the core, you are dependent on the freeware support, debugging, and keep-up-with-latest-hardware in GCC.

Also look carefully as to how well JTAG is supported in a debugger. IAR (and Keil I assume) support “Flash Breakpoints”. So you can have any number of in-Flash or in-RAM breakpoints, not just the small number (2?) that JTAG gives you.

Rowley may correct me on this if I’m misstating.

stevech, i though much like you did. But you have to use it to really understand all that they pack in there. it much, much more than a GUI editor.

seulater:
stevech, i though much like you did. But you have to use it to really understand all that they pack in there. it much, much more than a GUI editor.

My judgement was that for professional work, small learning curve, high productivity, good JTAG support, IAR and Keil were significantly superior - based on using the trial versions from all v.s. what I expected for my job. Good that we have competition among the tool vendors and buyers with different priorities.

Good that we have competition among the tool vendors and buyers with different priorities.

I agree, i too tried KEIL and IAR demos. We ran a battery of tests using all 3 demos. Cross Wroks was the best environment to work in and produced the fastest code.

I cannot comment on the JTAG support for rowley as we only use the JTAG for downloading the code.

stevech:
My problem with Rowley is that it’s mostly an Editor/IDE/project manager atop public domain GCC, and perhaps their own improvements to the public C libraries. It’s very good at that. But at the core, you are dependent on the freeware support, debugging, and keep-up-with-latest-hardware in GCC.

Actually, you do mis-state. GCC is not public domain–it is free software, but certainly not public domain. That being said, we do not use “public” C libraries, we use our own. And what else? Oh, yeah, all that target device support. And all those JTAG adapters. And a royalty-free RTOS. And support. And on Linux. And Solaris. And Mac OS X.

Oh dear, where’s Keil and IAR on Mac OS? What about Linux? Solaris? Gee, no bullet points there. Do they support Cortex-M3 using FTDI devices? Oh, my, clean out of luck. Say, what’s the cost of that RTOS? What do you mean, “it’s not included”? Sheesh, those Rowley guys must really be sick not charging for it, eh?

stevech:
Also look carefully as to how well JTAG is supported in a debugger. IAR (and Keil I assume) support “Flash Breakpoints”. So you can have any number of in-Flash or in-RAM breakpoints, not just the small number (2?) that JTAG gives you.

Rowley may correct me on this if I’m misstating.

Say, how much do you pay for Segger’s flash breakpoint ability? OK, free on some architectures, but in general? How about flash breakpoints using one of those cheapie wigglers? Or an FTDI device? Where’s all that good JTAG support? How about if you want to have a look at your JTAG chain, where’s that JTAG chain explorer?

No cost for breakpoints in flash with us, whatever processor or JTAG adapter you need.

Got a hobby and need a nice system? IAR and Keil will sell you a reduced-price version without limitation then, I guess? No? Why’s that then? Why can’t hobbyists get professional tools to tinker? $150 gets you an not-cut-down-but-don’t-use-for commercial-profit copy of CrossWorks. And all the target support. And RTOS. And flash breakpoints on any device that supports reflashing.

Gee, I guess we\re a pretty lame tool vendor. Gotta do better.

Sorry for the prod, but sometimes I guess people are just ready to put their money with big tool vendors to be safe, happy, and contented, wrapped in the cotton wool of a support contract. However, I don’t see many people complaining about our service or products in real life.

Just $0.02 from a biased individual.

seulater:
and produced the fastest code.

Beware of using speed of code as a way of comparing the suitability of development tools. It is too simplistic a measure. Reliability and predictability of code generation are significantly more important factors if you want to develop good working software in the most efficient way.

“Make it work first and then make it work fast.”

or, putting it another way:

“You can get to your destination much faster by riding a motorcycle with no brakes …”

again true. We have 14 tests that we put the compilers through. One of which is speed. We have used CW for ARM for over 3 years now. we have a host of devices out there all using CW for ARM. In those 3 years of writing thousands and thousands of lines of code we never once encountered a problem or bug using CW for ARM. That says allot in and of itself for them.

I dumped IAR in favor of Rowley mainly because I was having problems with IAR, primarily with the debugger. I have been very happy with Crossworks.

Some of the major things I like:

  1. CTL. This is a very capable RTOS. You get the source code included with Crossworks! I was using the IAR PowerPac RTOS for which I had purchased the source $$$. I haven’t had any problems migrating my code to CTL. They have a wizard for setting up a new CTL project for any supported target.

  2. v2.0 has Flash Breakpoints! Who doesn’t want unlimited breakpoints in flash on an ARM7? This is a separate $1000+ license for IAR and it is tied to an individual JLink.

  3. I had major problems with the JLink being slow and disconnecting a lot under IAR. I tried multiple JLinks and computers all exhibiting the same problems. I updated the JLink software with every minor version upgrade hoping SEGGER would fix whatever was causing me problems. I thought it was the JLink that was fundamentally at fault. Not so. This completely cleared up with Rowley.

  4. cross_studio_io.h Crossworks has a library of functions that allow you to do input/output (including print to a debug window in the IDE) from your target through the debugger. You can open files on the host computer for read/write from your target. That is pretty cool when you think about it. I have been contemplating using these functions for system calibration at final test in a major system I am working on.

I think they provide a tremendous value for the money.

Happy your happy. I use J-link with IAR and it’s problem free. Including flash breakpoints.