EmbDev.net

Forum: ARM programming with GCC/GNU tools Building my own tool-chain, missing files

Author: noether (Guest)
Posted on:

Hello, i'm trying to build my own tool-chain for an arm7tdmi
(interworking and nofmult).

First, i downloaded the toolchain at
http://embdev.net/articles/ARM_GCC_toolchain_for_L... ,
and everything was fine.

Now, i built my owm toolchain and everything is right when i'm compiling
in ARM mode, but i can't compile in interworking mode because i miss
some files in the directories /interwork (libm.a).

I just put the same flags as the before link, and i patched the
t-arm-elf (gcc) with the next:

MULTILIB_OPTIONS    += mhard-float/msoft-float
MULTILIB_DIRNAMES   += fpu soft
MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*
# 
MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
MULTILIB_DIRNAMES   += normal interwork
# 
MULTILIB_OPTIONS    += mcpu=arm7
MULTILIB_DIRNAMES   += nofmult
MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7*


processing the newlib1.17 i had the next errors too:
/bin/sh: line 4: arm-elf-ranlib: command not found
/bin/sh: line 4: arm-elf-ranlib: command not found
make[4]: *** [install-toollibLIBRARIES] Error 127
make[3]: *** [install-am] Error 2
make[2]: *** [install-recursive] Error 1
make[1]: *** [install-target-newlib] Error 2
make: *** [install] Error 2


At the moment i can "survive" working in ARM mode xD, but i want to
compile in Thumb/interworking mode as i guess i will have better
performance (actually i need it because i have loads of float operations
in my code).


By the way, i read the performance of the eabi is better for float
operation. Actually i built a tool-chain with target=arm-none-eabi, and
it compiles with inter-working without any problems, but i don't know if
that code will run in a arm7tdmi (AT91SAM7S256). I will test it on
Thursday.

Thanks in advance.
Author: noether (Guest)
Posted on:

Well, for gdb i have more errors:
cc1: warnings being treated as errors
../../gdb-6.8/gdb/eval.c: In function ‘evaluate_subexp_standard’:
../../gdb-6.8/gdb/eval.c:1705: error: ‘subscript_array’ may be used uninitialized in this function
make[2]: *** [eval.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-gdb] Error 2
make: *** [all] Error 2
cc1: warnings being treated as errors
../../gdb-6.8/gdb/eval.c: In function ‘evaluate_subexp_standard’:
../../gdb-6.8/gdb/eval.c:1705: error: ‘subscript_array’ may be used uninitialized in this function
make[2]: *** [eval.o] Error 1
make[1]: *** [install-gdb] Error 2
make: *** [install] Error 2

I have an "extense" log, let me know what it's importat to paste xD.
Author: noether (Guest)
Posted on:

After this, i'll register myself for edit xD, sorry.

I forgot to mention it, i'm using gcc (Debian 4.4.1-4), and the
toolchain sources are:

gcc-4.3.3
newlib 1.17.0
binutils 2.19.1
gdb 6.8
Author: Oliver B. (irq)
Posted on:

Hi,

i did this myself recently. I'm not an expert, but what helped was
http://wiki.ubuntuusers.de/GNU_ARM-Toolchain

I succeeded that way for Ubuntu/64bit as well as under Windows/Cygwin.

I used:
# GCC 4.4.1
# Binutils 2.19
# Newlib 1.17
# GDB 6.8
# Insight 6.8-1
Author: Héctor García de marina (Company: www.spacefishproject.com) (sherinian)
Posted on:

Solved,

the newLib1.17.0 seems to be buggy for syscall+thumb, i applied this
"patch"

http://thread.gmane.org/gmane.comp.lib.newlib/5612...

and everything works now. As i use an ARM7 it is not important this
patch, i suppose if you want to use Thumb under ARM/Linux, you have to
be careful.
Author: Steven Jacome (Guest)
Posted on:

Someone found the configure flag, will make without error
http://www.groupsrv.com/linux/about163176.html

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]






webmaster@embdev.netContactAdvertising on EmbDev.net