EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Anyone use Imagecraft ICC or Rowley CrossWorks?

Started by grantpbt August 20, 2008
I'm evaluating cheap compilers and it appears Keil is 16k limited for
eval and IAR is 32 limited for eval. Both reasonably generous for
learning I suppose, though I'm sure there are some gotcha's in there
somewhere.

So I'm also looking at Imagecraft's compiler (I've used them before
with HC11 and PSoC) or maybe Rowley CrossWorks. I'm not worried about
GCC's code density but I am worried that I'll tear all my hair out
trying to get GCC going from scratch for whatever SBC I finally pick
to experiment with. Recall I wanted a board <$200. I guess I need to
invest $100 (?) for some kind of JTAG dongle, even though I own a Keil
ULink (door prize).

Any newbies out there that have brought these up from scratch and can
provide any recommendations or horror stories?

An Engineer's Guide to the LPC2100 Series

recently, I evaluated (with use)
IAR
Keil
ImageCraft
Rowley
YAGARTO (WinARM)

for use at a professional level, but with small ARM7's (not megabyte
memory systems). Library support and ease of access to reference docs,
and especially, one-click navigating in a multi-file project (go to
where defined, go to next place referenced and so on) - were key. If
you don't want the IDE to have lots and lots of great time-savers,
then cheap-out and struggle win WINARM and its cousins.

It came down to IAR v.s. Keil. ImageCraft is much less costly but had
little advantage over WinArm. YAGARTO is Eclipse + GCC with
improvements, was a sad example of lots of earnest work but it
required just too much of my (expensive) time to mess with the tool
rather than the project. Rowley is too esoteric but moreover, it's a
rather costly IDE atop GCC, not their own compiler, so I did NOT want
to hear Rowley blaming GCC for problems.
I chose IAR. Both have free/limited, light and full versions at
similar prices. I also liked IAR's licensing option to use a USB
dongle making it easy to work at home or on-site without a hassle.

--- In l..., "grantpbt" wrote:
>
> I'm evaluating cheap compilers and it appears Keil is 16k limited for
> eval and IAR is 32 limited for eval. Both reasonably generous for
> learning I suppose, though I'm sure there are some gotcha's in there
> somewhere.
>
> So I'm also looking at Imagecraft's compiler (I've used them before
> with HC11 and PSoC) or maybe Rowley CrossWorks. I'm not worried about
> GCC's code density but I am worried that I'll tear all my hair out
> trying to get GCC going from scratch for whatever SBC I finally pick
> to experiment with. Recall I wanted a board <$200. I guess I need to
> invest $100 (?) for some kind of JTAG dongle, even though I own a Keil
> ULink (door prize).
>
> Any newbies out there that have brought these up from scratch and can
> provide any recommendations or horror stories?
>

I suggest GCC. I've had no issues getting it running under Gentoo Linux.
'emerge crossdev && crossdev --without-headers -s3 arm-elf' did it for me.

Personally, I can't stand IDEs. I find them too in-your-face, they hide
things you should know how to do for yourself to start with, and they
seriously reduce portability. I like 'vim' for an editor (emacs
users are freaks!) and 'make' for making. It's simple, it's
straight forward, it's well known technology, you're not bound to some
vendor with potentially expensive upgrade paths or going out of business,
and there's not license keys to worry about transferring when (not if) your
disk eventually fails.

Using VMWare's free 'player', you can create a Linux image and run Linux as
a VMWare session, so not having a Linux box isn't really an excuse.

I believe in buying the right tools for the right job, when they're
affordable. IAR is not affordable. The others are, but GCC is free, and it
works well.

If you'd like an example of what you can do with GCC, take a look at
http://jcwren.com/arm Several folks have compiled it with WinARM with
minimal effort. Like IDEs, I find developing embedded applications under
Windows a major pain in the butt. Windows is for GUIs, and if you want a
shiny IDE, then it's probably the way to go. If you're a CLI person, Linux
is the way to go, with Cygwin under Windows as a second best compromise.

My opinion is, of course, just that. OTOH, I've been developing embedded
applications for 20+ years, and started doing it under CP/M. I've seen
companies invest a fortune in toolchains, and I've seen those same
diskettes/CDs gathering dust a year later. Especially when someone
steals/loses the magic security dongle.

--jc

On Wed, Aug 20, 2008 at 7:32 PM, stevech11 wrote:

> recently, I evaluated (with use)
> IAR
> Keil
> ImageCraft
> Rowley
> YAGARTO (WinARM)
>
> for use at a professional level, but with small ARM7's (not megabyte
> memory systems). Library support and ease of access to reference docs,
> and especially, one-click navigating in a multi-file project (go to
> where defined, go to next place referenced and so on) - were key. If
> you don't want the IDE to have lots and lots of great time-savers,
> then cheap-out and struggle win WINARM and its cousins.
>
> It came down to IAR v.s. Keil. ImageCraft is much less costly but had
> little advantage over WinArm. YAGARTO is Eclipse + GCC with
> improvements, was a sad example of lots of earnest work but it
> required just too much of my (expensive) time to mess with the tool
> rather than the project. Rowley is too esoteric but moreover, it's a
> rather costly IDE atop GCC, not their own compiler, so I did NOT want
> to hear Rowley blaming GCC for problems.
>
> I chose IAR. Both have free/limited, light and full versions at
> similar prices. I also liked IAR's licensing option to use a USB
> dongle making it easy to work at home or on-site without a hassle.
> --- In l... , "grantpbt"
> wrote:
> >
> > I'm evaluating cheap compilers and it appears Keil is 16k limited for
> > eval and IAR is 32 limited for eval. Both reasonably generous for
> > learning I suppose, though I'm sure there are some gotcha's in there
> > somewhere.
> >
> > So I'm also looking at Imagecraft's compiler (I've used them before
> > with HC11 and PSoC) or maybe Rowley CrossWorks. I'm not worried about
> > GCC's code density but I am worried that I'll tear all my hair out
> > trying to get GCC going from scratch for whatever SBC I finally pick
> > to experiment with. Recall I wanted a board <$200. I guess I need to
> > invest $100 (?) for some kind of JTAG dongle, even though I own a Keil
> > ULink (door prize).
> >
> > Any newbies out there that have brought these up from scratch and can
> > provide any recommendations or horror stories?
> >
>

If ImageCrap for ARM is anything like ImageCrap for Cypress PSoC,
stayFAR away from that one.

I ~think~ that IAR and Keil are the top guys, but the GNU based ones
(Crossworks) is a close second (2nd only because of compiled code size).

This is NOT taking price into account of course. That's a different
story.

boB

--- In l..., "grantpbt" wrote:
>
> I'm evaluating cheap compilers and it appears Keil is 16k limited for
> eval and IAR is 32 limited for eval. Both reasonably generous for
> learning I suppose, though I'm sure there are some gotcha's in there
> somewhere.
>
> So I'm also looking at Imagecraft's compiler (I've used them before
> with HC11 and PSoC) or maybe Rowley CrossWorks. I'm not worried about
> GCC's code density but I am worried that I'll tear all my hair out
> trying to get GCC going from scratch for whatever SBC I finally pick
> to experiment with. Recall I wanted a board <$200. I guess I need to
> invest $100 (?) for some kind of JTAG dongle, even though I own a Keil
> ULink (door prize).
>
> Any newbies out there that have brought these up from scratch and can
> provide any recommendations or horror stories?
>

I'm pretty sure the Keil ULink is the badged version of the Segger
JLink, in which case, most flash downloader and debugger (e.g.
NoICE-ARM which works with ICC), will work with it so you do not need
to purchase a new JTAG interface.

At 03:18 PM 8/20/2008, grantpbt wrote:

>So I'm also looking at Imagecraft's compiler (I've used them before
>with HC11 and PSoC) or maybe Rowley CrossWorks. I'm not worried about
>GCC's code density but I am worried that I'll tear all my hair out
>trying to get GCC going from scratch for whatever SBC I finally pick
>to experiment with. Recall I wanted a board <$200. I guess I need to
>invest $100 (?) for some kind of JTAG dongle, even though I own a Keil
>ULink (door prize).
>
>Any newbies out there that have brought these up from scratch and can
>provide any recommendations or horror stories?

// richard (This email is for mailing lists. To reach me directly,
please use richard at imagecraft.com)
That's a pretty strong statement. Perhaps you should read our blog
http://imagecraft.wordpress.com and see our side of story why the
PSoC compiler is "crap."

At 05:26 PM 8/20/2008, bobtransformer wrote:
>If ImageCrap for ARM is anything like ImageCrap for Cypress PSoC,
>stayFAR away from that one.
>
>I ~think~ that IAR and Keil are the top guys, but the GNU based ones
>(Crossworks) is a close second (2nd only because of compiled code size).
>
>This is NOT taking price into account of course. That's a different
>story.
>

// richard (This email is for mailing lists. To reach me directly,
please use richard at imagecraft.com)
> YAGARTO is Eclipse + GCC with improvements

What are the improvements? AFAIK the compiler is standard GCC but built
natively for Windows, so I assume the improvements you refer to are for
Eclipse?
Regards,
Richard.

+ http://www.FreeRTOS.org
17 official architecture ports, more than 6000 downloads per month.

+ http://www.SafeRTOS.com
Certified by T as meeting the requirements for safety related systems.

> I ~think~ that IAR and Keil are the top guys, but the GNU based ones
> (Crossworks) is a close second (2nd only because of compiled
> code size).

With optimisation on, dead code stripped out, and no use of 'off the shelf'
GCC libraries (which are intended for large systems, Rowley I think provide
their own libraries BTW) what is the real difference in code size? Not that
great I don't think.

Regards,
Richard.

+ http://www.FreeRTOS.org
17 official architecture ports, more than 6000 downloads per month.

+ http://www.SafeRTOS.com
Certified by T as meeting the requirements for safety related systems.

IFAIK uLINK will work only with Keil and hardware is completely
different from JLink.

Rowley has support packages for many SBC and micros and it works out
of the box.

GCC is excellent compiler and I don't have any complaints about code
density at all. I think many people mix bad written libraries with gcc.
Rowley comes with optimized libraries and can outperform IAR and Keil
(go to st.com forum for STM32 micro with some examples for timing and
code size).

--- In l..., Richard Man wrote:
>
> I'm pretty sure the Keil ULink is the badged version of the Segger
> JLink, in which case, most flash downloader and debugger (e.g.
> NoICE-ARM which works with ICC), will work with it so you do not need
> to purchase a new JTAG interface.
>
> At 03:18 PM 8/20/2008, grantpbt wrote:
>
> >So I'm also looking at Imagecraft's compiler (I've used them before
> >with HC11 and PSoC) or maybe Rowley CrossWorks. I'm not worried about
> >GCC's code density but I am worried that I'll tear all my hair out
> >trying to get GCC going from scratch for whatever SBC I finally pick
> >to experiment with. Recall I wanted a board <$200. I guess I need to
> >invest $100 (?) for some kind of JTAG dongle, even though I own a Keil
> >ULink (door prize).
> >
> >Any newbies out there that have brought these up from scratch and can
> >provide any recommendations or horror stories?
>
> // richard (This email is for mailing lists. To reach me directly,
> please use richard at imagecraft.com)
>

Hi,

> for use at a professional level, but with small ARM7's (not megabyte
> memory systems). Library support and ease of access to reference docs,
> and especially, one-click navigating in a multi-file project (go to
> where defined, go to next place referenced and so on) - were key.

AFAIK, neither Keil uVision nor IAR Embedded Workbench have this
functionality. Or did I miss that? As I keep a watching brief on all IDEs,
especially embedded ones, I'm pretty good at knowing which each IDE (and
development system) has to offer.

> Rowley is too esoteric but moreover, it's a
> rather costly IDE atop GCC, not their own compiler, so I did NOT want
> to hear Rowley blaming GCC for problems.

Ok, it's not "just" an IDE. We do supply our own libraries. And seamless
board support and CPU support packages. As we support a wide range of JTAG
adapters. And a generic flash loader. And during your evaluation, or for
the lifetime of this mail list, has anybody heard us lay the blame squarely
on GCC for problems? No, didn't think so.

The thing is, if you need support then I reckon we do a pretty good job all
told. And what's more, we actually listen to customers, we listen to
non-customers, and we hang out in places where we can offer advice. And for
non-ARM targets we offer our own compilers, assemblers, and linkers. The
fact it's GCC in the ARM product will obviously divide opinion. But for
some, it doesn't matter a jot because they just want a great out-of-the-box
experience with their evaluation board.

> I chose IAR. Both have free/limited, light and full versions at
> similar prices. I also liked IAR's licensing option to use a USB
> dongle making it easy to work at home or on-site without a hassle.

CrossWorks doesn't come with a USB dongle. But you can work at home and
office and on a laptop without needing to shuttle a USB key about. Perhaps
you didn't look to hard at CrossWorks?

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


The 2024 Embedded Online Conference