| Author |
Message |
Thomas Carley
Guest
|
|
| Back to top |
|
 |
Andras Tantos
Guest
|
Posted:
Tue Dec 14, 2004 12:51 am Post subject:
Re: Free ARM Compilers? |
|
|
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? |
|
|
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? |
|
|
"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? |
|
|
"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? |
|
|
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? |
|
|
| 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? |
|
|
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? |
|
|
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 |
|
 |
|
|
|
|