Free ARM Compilers?
CASTalk.com Forum Index CASTalk.com
Discussion of DSP, FPGA, storage and embedded system.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web castalk.com
Free ARM Compilers?

 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Embedded System
Author Message
Thomas Carley
Guest





Posted: Mon Dec 13, 2004 8:12 pm    Post subject: Free ARM Compilers? Reply with quote

I have found 2 GCC ports for ARM. Any experience or opinions on which is
best?

Here are links to both.
http://gnuarm.com/
http://www.codesourcery.com/gnu_toolchains/arm.html
Back to top
Andras Tantos
Guest





Posted: Tue Dec 14, 2004 12:51 am    Post subject: Re: Free ARM Compilers? Reply with quote

Quote:
I have found 2 GCC ports for ARM. Any experience or opinions on which is
best?

Here are links to both.
http://gnuarm.com/
http://www.codesourcery.com/gnu_toolchains/arm.html


In case you're looking for a Windows-hosted version, let me add a third one:
http://h-storm.tantos.homedns.org/gcc_arm.htm

This one has support for other languanges than C and C++ and was compiled
with the MinGW environment instead of the more common CygWin. The benefit is
that its smaller, faster and doesn't require the CygWin runtime DLL to work.

But all these differences are a matter of taste and mostly details.

Regards,
Andras Tantos
Back to top
Not Really Me
Guest





Posted: Tue Dec 14, 2004 1:02 am    Post subject: Re: Free ARM Compilers? Reply with quote

Andras Tantos wrote:
Quote:
I have found 2 GCC ports for ARM. Any experience or opinions on
which is best?

Here are links to both.
http://gnuarm.com/
http://www.codesourcery.com/gnu_toolchains/arm.html


In case you're looking for a Windows-hosted version, let me add a
third one: http://h-storm.tantos.homedns.org/gcc_arm.htm

This one has support for other languanges than C and C++ and was
compiled with the MinGW environment instead of the more common
CygWin. The benefit is that its smaller, faster and doesn't require
the CygWin runtime DLL to work.
But all these differences are a matter of taste and mostly details.

Regards,
Andras Tantos

Andras,

Thanks for responding. I had lost track of your site and was hoping you
were paying attention here.
Can you say briefly what is different between the 3.3.1 or the 3.4.0?
Back to top
Andras Tantos
Guest





Posted: Tue Dec 14, 2004 2:01 am    Post subject: Re: Free ARM Compilers? Reply with quote

"Not Really Me" <scott@exoXYZtech.com> wrote in message
news:326aqjF3if9bfU1@individual.net...
Quote:
Andras Tantos wrote:
I have found 2 GCC ports for ARM. Any experience or opinions on
which is best?

Here are links to both.
http://gnuarm.com/
http://www.codesourcery.com/gnu_toolchains/arm.html


In case you're looking for a Windows-hosted version, let me add a
third one: http://h-storm.tantos.homedns.org/gcc_arm.htm

This one has support for other languanges than C and C++ and was
compiled with the MinGW environment instead of the more common
CygWin. The benefit is that its smaller, faster and doesn't require
the CygWin runtime DLL to work.
But all these differences are a matter of taste and mostly details.

Regards,
Andras Tantos

Andras,

Thanks for responding. I had lost track of your site and was hoping you
were paying attention here.
Can you say briefly what is different between the 3.3.1 or the 3.4.0?


Yeah, DynDNS simple DELETED my account! Anyway, it's back online now and
thanks for noting that...

The main difference between the 3.3 and 3.4 line of GCC is the new C++
parser code that got into 3.4. As usual, that fixes a lot of old issues and
introduces a whole set of new ones. Most of the changes are around template
handling and as such does not really make that much of a difference for
embedded developers. The whole (overwhelming) list is here:
http://gcc.gnu.org/gcc-3.4/changes.html

Regards,
Andras Tantos
Back to top
Andras Tantos
Guest





Posted: Tue Dec 14, 2004 3:13 am    Post subject: Re: Free ARM Compilers? Reply with quote

"Not Really Me" <scott@exoXYZtech.com> wrote in message
news:326aqjF3if9bfU1@individual.net...
Quote:
Andras Tantos wrote:
I have found 2 GCC ports for ARM. Any experience or opinions on
which is best?

Here are links to both.
http://gnuarm.com/
http://www.codesourcery.com/gnu_toolchains/arm.html


In case you're looking for a Windows-hosted version, let me add a
third one: http://h-storm.tantos.homedns.org/gcc_arm.htm

This one has support for other languanges than C and C++ and was
compiled with the MinGW environment instead of the more common
CygWin. The benefit is that its smaller, faster and doesn't require
the CygWin runtime DLL to work.
But all these differences are a matter of taste and mostly details.

Regards,
Andras Tantos

Andras,

Thanks for responding. I had lost track of your site and was hoping you
were paying attention here.
Can you say briefly what is different between the 3.3.1 or the 3.4.0?


Yeah, DynDNS simple DELETED my account! Anyway, it's back online now and
thanks for noting that...

The main difference between the 3.3 and 3.4 line of GCC is the new C++
parser code that got into 3.4. As usual, that fixes a lot of old issues and
introduces a whole set of new ones. Most of the changes are around template
handling and as such does not really make that much of a difference for
embedded developers. The whole (overwhelming) list is here:
http://gcc.gnu.org/gcc-3.4/changes.html

Regards,
Andras Tantos
Back to top
Karl Olsen
Guest





Posted: Tue Dec 14, 2004 12:22 pm    Post subject: Re: Free ARM Compilers? Reply with quote

In news:326ig9F3h5ra7U2@individual.net,
Andras Tantos <andras_tantos@yahoo.com> typed:
Quote:
"Not Really Me" <scott@exoXYZtech.com> wrote in message
news:326aqjF3if9bfU1@individual.net...
Andras Tantos wrote:
I have found 2 GCC ports for ARM. Any experience or opinions on
which is best?

Here are links to both.
http://gnuarm.com/
http://www.codesourcery.com/gnu_toolchains/arm.html


In case you're looking for a Windows-hosted version, let me add a
third one: http://h-storm.tantos.homedns.org/gcc_arm.htm

This one has support for other languanges than C and C++ and was
compiled with the MinGW environment instead of the more common
CygWin. The benefit is that its smaller, faster and doesn't require
the CygWin runtime DLL to work.
But all these differences are a matter of taste and mostly details.

Regards,
Andras Tantos

Andras,

Thanks for responding. I had lost track of your site and was hoping
you were paying attention here.
Can you say briefly what is different between the 3.3.1 or the 3.4.0?


The main difference between the 3.3 and 3.4 line of GCC is the new C++
parser code that got into 3.4. As usual, that fixes a lot of old
issues and introduces a whole set of new ones. Most of the changes
are around template handling and as such does not really make that
much of a difference for embedded developers. The whole
(overwhelming) list is here: http://gcc.gnu.org/gcc-3.4/changes.html

For ARM users, an important item on the list is the floating-point which got
literally several times faster with the new hand-coded routines.

Karl Olsen
Back to top
Andrew Jackson
Guest





Posted: Tue Dec 14, 2004 12:51 pm    Post subject: Re: Free ARM Compilers? Reply with quote

Quote:
The main difference between the 3.3 and 3.4 line of GCC is the new
C++ parser code that got into 3.4. As usual, that fixes a lot of old
issues and introduces a whole set of new ones. Most of the changes
are around template handling and as such does not really make that
much of a difference for embedded developers. The whole
(overwhelming) list is here: http://gcc.gnu.org/gcc-3.4/changes.html

For ARM users, an important item on the list is the floating-point
which got literally several times faster with the new hand-coded
routines.
Do you have any figures for the actual floating point performance on, say, a

60MHz ARM7?

Andrew
Back to top
Karl Olsen
Guest





Posted: Tue Dec 14, 2004 2:18 pm    Post subject: Re: Free ARM Compilers? Reply with quote

In news:pZmdnbH2fZdTASPcRVnyvg@eclipse.net.uk,
Andrew Jackson <alj@nospam.com> typed:

Quote:
The main difference between the 3.3 and 3.4 line of GCC is the new
C++ parser code that got into 3.4. As usual, that fixes a lot of old
issues and introduces a whole set of new ones. Most of the changes
are around template handling and as such does not really make that
much of a difference for embedded developers. The whole
(overwhelming) list is here: http://gcc.gnu.org/gcc-3.4/changes.html

For ARM users, an important item on the list is the floating-point
which got literally several times faster with the new hand-coded
routines.

Do you have any figures for the actual floating point performance on,
say, a 60MHz ARM7?


I did some single-precision tests for + - * / with the Keil simulator (which
assumes 0 waitstates).

Clocks for gcc-3.3.1, clocks for gcc-3.4.3, speedup:

__addsf3: 514 73 7.0x
__subsf3: 511 74 6.9x
__mulsf3: 428 49 8.7x
__divsf3: 634 142 4.5x

If you are using newlib (and you do, if you use the www.gnuarm.com compiler)
and need square root,

extern float __ieee754_sqrtf(float x);
a = __ieee754_sqrtf(b);

is much faster than

#include <math.h>
a = sqrtf(b);

sqrtf() is a wrapper around __ieee754_sqrtf() and adds the C error handling
(errno and matherr()) stuff.
Many similar __ieee754_ math functions exist which remove the C error
handling from the math functions. The unwrapped functions just return Inf
and NaN as appropriate in error situations.

Karl Olsen
Back to top
Andrew Jackson
Guest





Posted: Wed Dec 15, 2004 12:46 am    Post subject: Re: Free ARM Compilers? Reply with quote

Karl

Quote:

Do you have any figures for the actual floating point performance on,
say, a 60MHz ARM7?


I did some single-precision tests for + - * / with the Keil simulator
(which assumes 0 waitstates).

Clocks for gcc-3.3.1, clocks for gcc-3.4.3, speedup:

__addsf3: 514 73 7.0x
__subsf3: 511 74 6.9x
__mulsf3: 428 49 8.7x
__divsf3: 634 142 4.5x

If you are using newlib (and you do, if you use the www.gnuarm.com
compiler) and need square root,

extern float __ieee754_sqrtf(float x);
a = __ieee754_sqrtf(b);

is much faster than

#include <math.h
a = sqrtf(b);

sqrtf() is a wrapper around __ieee754_sqrtf() and adds the C error
handling (errno and matherr()) stuff.
Many similar __ieee754_ math functions exist which remove the C error
handling from the math functions. The unwrapped functions just
return Inf and NaN as appropriate in error situations.

Thanks very much for the information and tip: that's an impressive

improvement in the performance.

Andrew
Back to top
 
Post new topic   Reply to topic    CASTalk.com Forum Index -> Embedded System All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




VoIP Electronics Powered by phpBB