EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Which IDE and compiler?

Started by active_si April 26, 2007
Hi!

I am now deciding on which IDE and compiler to use and with that I
have done some searching over the net and came across some tests that
were made with IAR, GNU and KEIL compiler and according to that report
the GNU compiler was the best out of these three.
With this I found CrossWorks that should provide GNU compiler support
and debugging over JTAG.
Since I have already bought MCB2300 and KEIL's ULINK2 I would like to
know which IDE and compiler do you recommend.
Because CrossWorks doesn't support KEIL's ULINK and I would have to
buy another JTAG adapter so I'd be able to debug my apps.

Any insights would be usefull.

Thanks in advance!

Re, Uros

An Engineer's Guide to the LPC2100 Series

Hi Uros,

I would recomend you gcc compiler, gdb debugger with OpenOCD and eclipse
IDE.
These are all available precompiled for Windows at www.yagarto.de

For programming and debugging I use Amontec JtagKey, which works reliably
with above mentioned software. You can get more info at www.amontec.com

Ales Svetek
active_si wrote:
> Hi!
>
> I am now deciding on which IDE and compiler to use and with that I
> have done some searching over the net and came across some tests that
> were made with IAR, GNU and KEIL compiler and according to that report
> the GNU compiler was the best out of these three.
> With this I found CrossWorks that should provide GNU compiler support
> and debugging over JTAG.
> Since I have already bought MCB2300 and KEIL's ULINK2 I would like to
> know which IDE and compiler do you recommend.
> Because CrossWorks doesn't support KEIL's ULINK and I would have to
> buy another JTAG adapter so I'd be able to debug my apps
Hi Uros,

I would recomend you gcc compiler, gdb debugger with OpenOCD and eclipse
IDE.
These are all available precompiled for Windows at www.yagarto.de

For programming and debugging I use Amontec JtagKey, which works reliably
with above mentioned software. You can get more info at www.amontec.com

Ales
active_si wrote:
> Hi!
>
> I am now deciding on which IDE and compiler to use and with that I
> have done some searching over the net and came across some tests that
> were made with IAR, GNU and KEIL compiler and according to that report
> the GNU compiler was the best out of these three.
> With this I found CrossWorks that should provide GNU compiler support
> and debugging over JTAG.
> Since I have already bought MCB2300 and KEIL's ULINK2 I would like to
> know which IDE and compiler do you recommend.
> Because CrossWorks doesn't support KEIL's ULINK and I would have to
> buy another JTAG adapter so I'd be able to debug my apps
--- In l..., Alex Svetek wrote:

> I would recomend you gcc compiler, gdb debugger with OpenOCD and
eclipse IDE.
> These are all available precompiled for Windows at www.yagarto.de

I just recently started using this toolchain, but I have really serious
problems with it.
Every 2nd or 3rd "debug cycle", Eclipse completely freezes and I have to
terminate
it manually and restart. It's really boring, and I didn't get any real
help about this 'til now -
neither here nor in the eclipse newsgroups. Seems like it's somehow
related to CDT...

If you managed to get it running, perhaps you can share your experience?

[I'm pretty sure that this wasn't intended as the normal way of working
with
Eclipse (exiting and restarting it after every debug cycle)...]

Thanks,
Tilmann
> I would recomend you gcc compiler, gdb debugger with OpenOCD
> and eclipse
> IDE.
I have been asked maybe 50 times if I can provide a pre-configured Eclipse
demo for FreeRTOS.org, so I have tinkered around with Eclipse, but so far
that is the limit of my experience with it.
I have the following serious issue with the setup, which I am yet to find a
way around. As far as I can see there is no 'project' feature in that there
is no means to define which files you want to include and exclude in your
build from the various files in your various directories. For example ...

The FreeRTOS.org download is split into the following directories:

Source >> contains the core kernel code, and the port file for each
processor and compiler.

Demo >> contains a demo project for each of the supported ports.
Therefore, the demo projects include files from the source directory. For
example, the project file for the LPC2368 Rowley demo is in the directory
FreeRTOS\Demo\ARM7_LPC2368_Rowley, and this includes a file from
FreeRTOS\Source directory, effectively ..\..\Source. It is the relative
path that Eclipse appears to have the problem with.

Eclipse seems to insist that the project file is at the *root* of your
project directory structure (in my case the FreeRTOS directory), and cannot
include files using relative paths from outside of that structure. I don't
think this would work for any 'serious' project that I have worked on.

Importing files into a project seems to copy the file into the project
directory, rather than using a symbolic link. Exactly what you don't want,
multiple versions of the same file. Yuk.

Even placing the project file at the root of the project directory does not
work, as Eclipse then shows you all the files in the sub directories. In my
case only probably half a dozen of the hundreds of files in the Demo
directory are relevant to the Demo you are actually wanting to build.

I thought the way around this would be to use a traditional makefile, in
place of the managed make. This removes some of the benefit of using an IDE
of coarse. In any case this does not work either. Although Eclipse will
happily build the project, and show you the build errors, you can only
navigate to the build error by double clicking the error in the IDE if the
file is in the same directory structure. It is easier therefore, not to use
Eclipse at all for building. So now I am building using a traditional
makefile, outside of the IDE. Hmm.
Am I being really dumb here with my setup, or maybe I'm missing a plug-in or
something.
Regards,
Richard.

+ http://www.FreeRTOS.org
A free real time kernel for 8, 16 and 32bit systems.

+ http://www.SafeRTOS.com
An IEC 61508 compliant real time kernel for safety related systems.
Hi Tilmann,

> I just recently started using this toolchain, but I have really serious
> problems with it.
> Every 2nd or 3rd "debug cycle", Eclipse completely freezes and I have to
> terminate
> it manually and restart. It's really boring, and I didn't get any real
> help about this 'til now -
> neither here nor in the eclipse newsgroups. Seems like it's somehow
> related to CDT...
>

I am not an expert with Eclipse, gdb and OpenOCD, but I managed to put
things together.
It all works for me now like a charm with LPC213x/4x, although I do
remember that I had
some similar problems like you at first.

If you send me Eclipse project/workspace that causes you troubles, I
can take a look.

Regards,
Ales
You say you have bought the Keil ulink2 as if that would
prevent you from using another solution.

I guess we have to ask if you are after a commercial
solution (one that works out of the box) or one that
you have to put together and you maintain.
This is a call that I can't make.

I use Rowley Crossworks and I am very happy with it.
For me it was worth the money.
True it won't work with ulink2, but it does work with
the very cheap parallel-port wiggler clone available from
Olimex. I also splashed out on their USB crossconnect and
for me it is handy to have more than one JTAG device.

(For "PC" programming I am moving from ancient Watcom to
Eclipse. I prefer the Crossworks environment. But here I
don't have the commercial need to justify spending money.)

As to the benchmarks you found, I wonder how up-to-date
they are. When I looked at the Keil IDE, it could use an
old version of gcc. And it came with a Keil compiler.
I seem to remember reading that nowadays the Keil IDE
comes with the excellent official arm compiler (since
they are now owned by arm).

There are many different opinions. YMMV.

- Danish
--- In l..., Alex Svetek wrote:

> I am not an expert with Eclipse, gdb and OpenOCD, but I managed to put
> things together.
> It all works for me now like a charm with LPC213x/4x, although I do
> remember that I had
> some similar problems like you at first.
>
> If you send me Eclipse project/workspace that causes you troubles, I
> can take a look.

Hello Alex,

thanks for your offer to look at my project.

Perhaps we can discuss that further by e-mail. If
you experienced the same kind of problems, you may
have a solution to them... Can you recall what
exactly you did to solve it?

You can reach me at info (at) autometer (dot) de.

Thanks & regards,
Tilmann
The solution I am looking for is one that will enable me to work
smoothly. If I go with CrossWorks I need to buy another JTAG adapter
and if I'll know that it'll work without causing additional problems
that is not a problem. But probably as anyone else no one likes to
spend money if they don't have to.

I am new at programming LPCs and there for I didn't know all
possibilities as I know now.

Because of this I was looking towards KEILs RTL package but after
some additional research I found there are a lot of open source
solutions available that could allow me to do the same work as with
KEILs solution. I know the with a price comes out-of-the-box
solution and with open source you have to do some work, sometimes
even less as with the OOTB solution, but I'd like to hear from other
experienced users what they use, so I don't go and spend time on
things that would prove to be worthless.

Thanks for all your current insights and any in future.

Re,
Uros

--- In l..., "Danish Ali" wrote:
>
> You say you have bought the Keil ulink2 as if that would
> prevent you from using another solution.
>
> I guess we have to ask if you are after a commercial
> solution (one that works out of the box) or one that
> you have to put together and you maintain.
> This is a call that I can't make.
>
> I use Rowley Crossworks and I am very happy with it.
> For me it was worth the money.
> True it won't work with ulink2, but it does work with
> the very cheap parallel-port wiggler clone available from
> Olimex. I also splashed out on their USB crossconnect and
> for me it is handy to have more than one JTAG device.
>
> (For "PC" programming I am moving from ancient Watcom to
> Eclipse. I prefer the Crossworks environment. But here I
> don't have the commercial need to justify spending money.)
>
> As to the benchmarks you found, I wonder how up-to-date
> they are. When I looked at the Keil IDE, it could use an
> old version of gcc. And it came with a Keil compiler.
> I seem to remember reading that nowadays the Keil IDE
> comes with the excellent official arm compiler (since
> they are now owned by arm).
>
> There are many different opinions. YMMV.
>
> - Danish
>
----- Original Message -----
From: "active_si"
To:
Sent: Thursday, April 26, 2007 11:50 AM
Subject: [lpc2000] Re: Which IDE and compiler?
> The solution I am looking for is one that will enable me to work
> smoothly. If I go with CrossWorks I need to buy another JTAG adapter
> and if I'll know that it'll work without causing additional problems
> that is not a problem. But probably as anyone else no one likes to
> spend money if they don't have to.

CrossWorks works OK with both my own home-made JTAG interface and their
CrossConnect. The debugger and IDE are excellent.

Leon

Memfault Beyond the Launch