EmbeddedRelated.com
Forums

Free ARM IDE

Started by pdqlogic June 25, 2007
Dear Dave,

I continue the ArmEd testing. It works fine until I
do not use standard functions from
The linker cannot find hypot() and even sqrt() function.
Maybe I do something wrong? But the same code I
build with WinARM (the same GNU tools) without problems
and use its linker script with ArmEd.

Best regards,
Varuzhan

An Engineer's Guide to the LPC2100 Series

Hi Varuzhan,

You'll need to add the relevant library to your project. You add
library files (.a extension) in the project window either to the
'Source Files' group or you can create a separate library files group
and add it there (ArmEd creates a 'User Libraries' group when it
creates a new project). The GNUARM library files typically reside at
C:\Program Files\GNUARM\arm-elf\lib. The maths library is 'libm.a'.
Let me know if you still have problems.

Regards
Dave

>
> Dear Dave,
>
> I continue the ArmEd testing. It works fine until I
> do not use standard functions from
> The linker cannot find hypot() and even sqrt() function.
> Maybe I do something wrong? But the same code I
> build with WinARM (the same GNU tools) without problems
> and use its linker script with ArmEd.
>
> Best regards,
> Varuzhan
>
Hi Dave,

I tried different ways
- copied the libm.a to the project directore from \GNUARM\arm-elf\lib,
then included it into the project UserLibraries
- directly included in project UserLibraries the file
|GNUARM\arm-elf\lib\libm.a

nothing helps. The linker keeps tell that cannot fint the hypot
function. The same project with the WinARM modified Makefile builds
without any problem.

Best regards,
Varuzhan

--- In l..., "pdqlogic" wrote:
>
> Hi Varuzhan,
>
> You'll need to add the relevant library to your project. You add
> library files (.a extension) in the project window either to the
> 'Source Files' group or you can create a separate library files group
> and add it there (ArmEd creates a 'User Libraries' group when it
> creates a new project). The GNUARM library files typically reside at
> C:\Program Files\GNUARM\arm-elf\lib. The maths library is 'libm.a'.
> Let me know if you still have problems.
>
> Regards
> Dave
>
> >
> > Dear Dave,
> >
> > I continue the ArmEd testing. It works fine until I
> > do not use standard functions from
> > The linker cannot find hypot() and even sqrt() function.
> > Maybe I do something wrong? But the same code I
> > build with WinARM (the same GNU tools) without problems
> > and use its linker script with ArmEd.
> >
> > Best regards,
> > Varuzhan
>
Hi Varuzhan,

When you specified the libm.a file in the UserLibraries file group
did you specify a partial path for libm.a (as in your post) and are
you compiling any Thumb code in your project ? If both answers are no
are you able to email me the project to look at (d...@pdqlogic.com) ?

Regards
Dave

>
> Hi Dave,
>
> I tried different ways
> - copied the libm.a to the project directore from \GNUARM\arm-
elf\lib,
> then included it into the project UserLibraries
> - directly included in project UserLibraries the file
> |GNUARM\arm-elf\lib\libm.a
>
> nothing helps. The linker keeps tell that cannot fint the hypot
> function. The same project with the WinARM modified Makefile
builds
> without any problem.
>
> Best regards,
> Varuzhan
>
> --- In l..., "pdqlogic" wrote:
> >
> > Hi Varuzhan,
> >
> > You'll need to add the relevant library to your project. You add
> > library files (.a extension) in the project window either to the
> > 'Source Files' group or you can create a separate library files
group
> > and add it there (ArmEd creates a 'User Libraries' group when it
> > creates a new project). The GNUARM library files typically
reside at
> > C:\Program Files\GNUARM\arm-elf\lib. The maths library is
'libm.a'.
> > Let me know if you still have problems.
> >
> > Regards
> > Dave
> >
> > >
> > > Dear Dave,
> > >
> > > I continue the ArmEd testing. It works fine until I
> > > do not use standard functions from
> > > The linker cannot find hypot() and even sqrt() function.
> > > Maybe I do something wrong? But the same code I
> > > build with WinARM (the same GNU tools) without problems
> > > and use its linker script with ArmEd.
> > >
> > > Best regards,
> > > Varuzhan
> > >
>
Dear Dave,

I am specifying the limb.a using the ArmEd's "Add Files to Folder"
menu item, so it is impossible to choose a partial path. As well I do
not use Thumb.
I made very simple version of my project, just to test linking.
Without hypot() call it links Ok.
As I could not to send it on your mail directly (permanen error), I
placed it in the Files section of this group: ArmEdTest.zip

Best regards,
Varuzhan

--- In l..., "pdqlogic" wrote:
>
> Hi Varuzhan,
>
> When you specified the libm.a file in the UserLibraries file group
> did you specify a partial path for libm.a (as in your post) and are
> you compiling any Thumb code in your project ? If both answers are no
> are you able to email me the project to look at (dave@...) ?
>
> Regards
> Dave
>
> >
> > Hi Dave,
> >
> > I tried different ways
> > - copied the libm.a to the project directore from \GNUARM\arm-
> elf\lib,
> > then included it into the project UserLibraries
> > - directly included in project UserLibraries the file
> > |GNUARM\arm-elf\lib\libm.a
> >
> > nothing helps. The linker keeps tell that cannot fint the hypot
> > function. The same project with the WinARM modified Makefile
> builds
> > without any problem.
> >
> > Best regards,
> > Varuzhan
> >
> > --- In l..., "pdqlogic" wrote:
> > >
> > > Hi Varuzhan,
> > >
> > > You'll need to add the relevant library to your project. You add
> > > library files (.a extension) in the project window either to the
> > > 'Source Files' group or you can create a separate library files
> group
> > > and add it there (ArmEd creates a 'User Libraries' group when it
> > > creates a new project). The GNUARM library files typically
> reside at
> > > C:\Program Files\GNUARM\arm-elf\lib. The maths library is
> 'libm.a'.
> > > Let me know if you still have problems.
> > >
> > > Regards
> > > Dave
> > >
> > > >
> > > > Dear Dave,
> > > >
> > > > I continue the ArmEd testing. It works fine until I
> > > > do not use standard functions from
> > > > The linker cannot find hypot() and even sqrt() function.
> > > > Maybe I do something wrong? But the same code I
> > > > build with WinARM (the same GNU tools) without problems
> > > > and use its linker script with ArmEd.
> > > >
> > > > Best regards,
> > > > Varuzhan
> > > >
> > >
>
Hi Varuzhan,

I tested the project you posted in the LC2000 files section & I get a
linker error for hypot() & sqrt(). It complains that libm.a is built
for floating point h/w whereas the ELF file is targeted for s/w. Is
this the same error you're seeing ?

Replacing the libm.a file in the project with the the s/w floating
point math library (C:\Program Files\GNUARM\arm-elf\lib\libm.a) sorts
the problem. It seems that the libm.a you selected came from the fpu
folder.

Might be better to take this offline rather than clutter up LPC2000
with detailed postings. You should now be able to reach me on
d...@pdqlogic.com (our ISP has sorted some recent email problems)

Regards
Dave

--- In l..., "varuzhandanielyan" wrote:
>
> Dear Dave,
>
> I am specifying the limb.a using the ArmEd's "Add Files to Folder"
> menu item, so it is impossible to choose a partial path. As well I
do
> not use Thumb.
> I made very simple version of my project, just to test linking.
> Without hypot() call it links Ok.
> As I could not to send it on your mail directly (permanen error), I
> placed it in the Files section of this group: ArmEdTest.zip
>
>
> Best regards,
> Varuzhan
>
>
> --- In l..., "pdqlogic" wrote:
> >
> > Hi Varuzhan,
> >
> > When you specified the libm.a file in the UserLibraries file
group
> > did you specify a partial path for libm.a (as in your post) and
are
> > you compiling any Thumb code in your project ? If both answers
are no
> > are you able to email me the project to look at (dave@) ?
> >
> > Regards
> > Dave
> >
> > >
> > > Hi Dave,
> > >
> > > I tried different ways
> > > - copied the libm.a to the project directore from \GNUARM\arm-
> > elf\lib,
> > > then included it into the project UserLibraries
> > > - directly included in project UserLibraries the file
> > > |GNUARM\arm-elf\lib\libm.a
> > >
> > > nothing helps. The linker keeps tell that cannot fint the hypot
> > > function. The same project with the WinARM modified Makefile
> > builds
> > > without any problem.
> > >
> > > Best regards,
> > > Varuzhan
> > >
> > > --- In l..., "pdqlogic" wrote:
> > > >
> > > > Hi Varuzhan,
> > > >
> > > > You'll need to add the relevant library to your project. You
add
> > > > library files (.a extension) in the project window either to
the
> > > > 'Source Files' group or you can create a separate library
files
> > group
> > > > and add it there (ArmEd creates a 'User Libraries' group when
it
> > > > creates a new project). The GNUARM library files typically
> > reside at
> > > > C:\Program Files\GNUARM\arm-elf\lib. The maths library is
> > 'libm.a'.
> > > > Let me know if you still have problems.
> > > >
> > > > Regards
> > > > Dave
> > > >
> > > > >
> > > > > Dear Dave,
> > > > >
> > > > > I continue the ArmEd testing. It works fine until I
> > > > > do not use standard functions from
> > > > > The linker cannot find hypot() and even sqrt() function.
> > > > > Maybe I do something wrong? But the same code I
> > > > > build with WinARM (the same GNU tools) without problems
> > > > > and use its linker script with ArmEd.
> > > > >
> > > > > Best regards,
> > > > > Varuzhan
> > > > >
> > > >
> > >
>