Reply by pdqlogic July 10, 20072007-07-10
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
> > > > >
> > > >
> > >
>

An Engineer's Guide to the LPC2100 Series

Reply by varuzhandanielyan July 9, 20072007-07-09
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
> > > >
> > >
>
Reply by pdqlogic July 9, 20072007-07-09
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
> > >
>
Reply by varuzhandanielyan July 9, 20072007-07-09
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
>
Reply by pdqlogic July 7, 20072007-07-07
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
>
Reply by varuzhandanielyan July 6, 20072007-07-06
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
Reply by varuzhandanielyan June 28, 20072007-06-28
Hi Dave,

Thank you very much. I coorrected PATH setting and tried
again to build your hello_world example. Now it works!
I will continue now to test the ArmEd with my current work
and report in case of new problems.
You are doing a great work. I wish you success.
Best regards,
Varuzhan
--- In l..., "pdqlogic" wrote:
>
> Hi Varuzhan
>
> I've been able to recreate the behaviour you found with WinARM. The
> latest version of WinARM is 4.1.1 and ArmEd has known problems with
> this version (we recommed v4.1.0 on our downloads page).
>
> I suspect that after you installed GNUARM v4.1.0 the WinARM entry in
> the Windows PATH variable still existed and so ArmEd will have still
> used WinARM v4.1.1 rather than GNUARM v4.1.0 and hence caused the
> same problems. If you remove the WinARM entry from the PATH variable
> you should be up and running. In the meantime we'll have look at the
> GCC v4.1.1 / ArmEd incompatibility and update ArmEd.
>
> Regards
> Dave
>
Reply by Mukund Deshmukh June 28, 20072007-06-28
>You'll need to download & install v4.1.0 of the GCC toolchain. We
>recommend the GNUARM installation, see www.gnuarm.com, as we've used
>this extensively (nothing against WinARM though).

OK, I will give a try. Some how I started liking ArmEd very much, Its
simple, fast, and easy. Keep it up

>Yes, ArmEd will remain free. We're working on an integrated debugger
>and ARM/THUMB simulator for ArmEd which will be available as a DLL
>plug-in for a small cost.

That's Great!!
In fact I am using Programmer Note pad, but its very basic, and the latest
version keeps crashing every 5 min.
A debugger and simulator is welcome, but I rarely use any of them.

Warm Regards,

Mukund Deshmukh,
Beta Computronics Pvt Ltd.
10/1 IT Park, Parsodi,
Nagpur -440022 India.
Web site - http://betacomp.com

MEET US AT,

K2007, Dusseldorf, Germany, Hall 12, Stall C36-2.
Reply by pdqlogic June 27, 20072007-06-27
Hi Mukund,

Take a look at my recent post (http://tech.groups.yahoo.com/group/
lpc2000/message/25640). This should hopefully explain the behaviour
you are seeing.

You'll need to download & install v4.1.0 of the GCC toolchain. We
recommend the GNUARM installation, see www.gnuarm.com, as we've used
this extensively (nothing against WinARM though). Remove the
reference to WinARM from your Windows PATH variable, restart ArmEd
and the project should then build.

Yes, ArmEd will remain free. We're working on an integrated debugger
and ARM/THUMB simulator for ArmEd which will be available as a DLL
plug-in for a small cost.

Regards
Dave

--- In l..., "Mukund Deshmukh"
wrote:
>
> > > Can you confirm the messages below are from using GNUARM 4.1.0
> and
> > > not WinARM ? I'm a bit baffled why GCC cannot create the object
> > > files. Its unlikely but could you check these files are not
> Hello,
>
> I also tried ArmEd with WinARM, and got the same errors. It failed
with the
> given examples also.
> Here are the messages I am getting.
> ///////////////////
> Assembler messages:
> FATAL: can't create ./obj/hello.o
> : Invalid argument
> arm-elf-gcc -c -MMD -MF./obj/hello.d -march=armv4t -mapcs-frame -
mapcs-stack-check
> -Wall -Wcast-align -O0 -g3 -I. hello.c -o ./obj/hello.o
> Compiling printf.c...
> Assembler messages:
> FATAL: can't create ./obj/printf.o
> ////////////////////////
>
> The window gives an error for as.exe
> BTW I liked the speed and look.
> Is ArmEd going to be remain free forever?
> Warm Regards,
>
> Mukund Deshmukh,
> Beta Computronics Pvt Ltd.
> 10/1 IT Park, Parsodi,
> Nagpur -440022 India.
> Web site - http://betacomp.com
>
> MEET US AT,
>
> K2007, Dusseldorf, Germany, Hall 12, Stall C36-2.
>
Reply by pdqlogic June 27, 20072007-06-27
Hi Varuzhan

I've been able to recreate the behaviour you found with WinARM. The
latest version of WinARM is 4.1.1 and ArmEd has known problems with
this version (we recommed v4.1.0 on our downloads page).

I suspect that after you installed GNUARM v4.1.0 the WinARM entry in
the Windows PATH variable still existed and so ArmEd will have still
used WinARM v4.1.1 rather than GNUARM v4.1.0 and hence caused the
same problems. If you remove the WinARM entry from the PATH variable
you should be up and running. In the meantime we'll have look at the
GCC v4.1.1 / ArmEd incompatibility and update ArmEd.

Regards
Dave

--- In l..., "varuzhandanielyan" wrote:
>
> --- In l..., "pdqlogic" wrote:
> >
> > Varuzhan
> >
> > Can you confirm the messages below are from using GNUARM 4.1.0
and
> > not WinARM ? I'm a bit baffled why GCC cannot create the object
> > files. Its unlikely but could you check these files are not
already
> > present as read-only.
> >
> > Finally, select 'verbose build output' from the Tools->Options
menu
> > to get GCC to output more info during the build process. Could
you
> > let me know what messages are output with this option selected ?
> >
> > Regards
> > Dave
> >
> > --- In l..., "varuzhandanielyan" wrote:
> > >
> > > --- In l..., "pdqlogic" wrote:
> > > >
> > > > Hi Varuzhan
> > > >
> > > > Could you let me know what error messages you received & what
> > version
> > > > of Windows you are using ?
> > > >
> > > > I'm not sure why using the external makefile option would
cause
> > ArmEd
> > > > to close. Could you send me the makefile & project you are
using ?
> > > >
> > > > Regards
> > > > Dave
> > > >
> > > >
> > > > --- In l..., "varuzhandanielyan"
wrote:
> > > > >
> > > > > Does somebody managed to build a project with ArmEb? I
tried
> > > > examples,
> > > > > received error messages. Then I made a new project - the
same
> > > > result.
> > > > > When I tried to build with an external makefile, it
reported
> > Ok,
> > > > but
> > > > > closed IDE after finishing, and no results.
> > > > > Varuzhan
> > > > >
> > > >
> > >
> > > I open example hello_wordl project from:
> > > c:\Program Files\PDQLogic\ArmEd\Examples
> > > Build Window:
> > > Making target...
> > > Compiling hello.c...
> > > Assembler messages:
> > > FATAL: can't create .\obj\hello.o
> > > : Invalid argument
> > > Compiling printf.c...
> > > Assembler messages:
> > > FATAL: can't create .\obj\printf.o
> > > : Invalid argument
> > > Compiling bsp.c...
> > > Assembler messages:
> > > FATAL: can't create .\obj\bsp.o
> > > : Invalid argument
> > > Assembling startup.s...
> > > Assembler messages:
> > > Error: use of old and new-style options to set CPU type
> > > arm-elf-gcc:
> > > : Invalid argument
> > > Target build failed (error 1).
> > >
> > > I use XP Sp2.
> > > External Makefile I tried, only after build command failed.
> > > As an example for it I used WinARM example for LPC2138.
> > >
> > > First I tried the GCC from WinARM, then the version, downloaded
by
> > > your link - the same result.
> > >
> > > Varuzhan
> > >
> > Hi, Dave
>
> I again downloaded GCC 4.1.0 from your link and installed it
> automatically in C:\Program Files\GNUARM and selected it in the
> TOOL/OPTIONS GCC as well I checked the Verbse Build Output. Below
you
> can see messages:
> Assembler messages:
> FATAL: can't create ./obj/hello.o
> : Invalid argument
> arm-elf-gcc -c -MMD -MF./obj/hello.d -march=armv4t -mapcs-frame
> -mapcs-stack-check -Wall -Wcast-align -O0 -g3 -I. hello.c -o
> ./obj/hello.o
> Compiling printf.c...
> Assembler messages:
> FATAL: can't create ./obj/printf.o
> : Invalid argument
> arm-elf-gcc -c -MMD -MF./obj/printf.d -march=armv4t -mapcs-frame
> -mapcs-stack-check -Wall -Wcast-align -O0 -g3 -I. printf.c -o
> ./obj/printf.o
> Compiling bsp.c...
> Assembler messages:
> FATAL: can't create ./obj/bsp.o
> : Invalid argument
> arm-elf-gcc -c -MMD -MF./obj/bsp.d -march=armv4t -mapcs-frame
> -mapcs-stack-check -Wall -Wcast-align -O0 -g3 -I. bsp.c -o ./obj/
bsp.o
> Assembling startup.s...
> Assembler messages:
> Error: use of old and new-style options to set CPU type
> arm-elf-gcc:
> : Invalid argument
> arm-elf-gcc -c -Xassembler -mapcs-32 -Xassembler --gdwarf2
> -Xassembler -marmv4t -I. startup.s -o ./obj/startup.o
> Target build failed (error 1).
>
> Varuzhan
>