This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Building arm-{none,stellaris}-eabi toolchains


Hi all,
	I was wondering if anyone has had building a toolchain for one
of the above targets?  I'm trying to get a cross-compiling toolchain for
a Luminary Micro Stellaris LM3S8962 microcontroller (ARM Cortex
M3-based) built on my netbook (a Lemote Yeeloong).  We'll be using this
at my workplace for some of our motor control apps, but I also intend to
buy a few of these MCUs to play with in my amateur radio projects too.

	For the present time, I'm using one of the demos that came with
FreeRTOS as a test of the toolchain -- the CORTEX_LM3Sxxxx_Eclipse demo
builds fine using the CodeSourcery Stellaris EABI toolchain, which I
understand to be very similar to their ARM EABI toolchain for which I
have the sources.  The code generated works as expected too.

	I've tried building the toolchain by hand on my netbook (which
can't run the CodeSourcery built toolchains, even if I could afford
them) both using official Gnu/Red Hat...etc sources, and using the
CodeSourcery toolchain sources.

	The Makefile I use with the latter is attached... after
unpacking arm-2009q3-68-arm-none-eabi.src.tar.bz2, drop it in the
directory created as Makefile and run `make` (or have a look with a
text editor, there are some configurable options).  It is based on the
shell script that CodeSourcery distribute with their sources.
Running on Gentoo/MIPS 10.0, it builds okay.

	In both cases (GNU sources and CodeSourcery sources) the
toolchain produced fails to build the aforementioned FreeRTOS demo with
the following error message:
-------------------------------------------------------------------------------
stuartl@zhouman
~/ezecorp/wsbackup/freertos601/FreeRTOS/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo
$ make
arm-stellaris-eabi-gcc -g -I . -I ../../../Source/include -I
../../../Source/portable/GCC/ARM_CM3 -I ../../Common/include -D
GCC_ARMCM3_LM3S102 -D inline= -mthumb -mcpu=cortex-m3 -O0
-Tstandalone.ld -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D
ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D sprintf=usprintf -D
snprintf=usnprintf -D printf=uipprintf -I
../../Common/ethernet/uIP/uip-1.0/uip -I ./webserver -ffunction-sections
-fdata-sections -I ../../Common/drivers/LuminaryMicro main.o timertest.o
./ParTest/ParTest.o rit128x96x4.o osram128x64x4.o formike128x128x16.o
../../Common/drivers/LuminaryMicro/ustdlib.o
../../Common/Minimal/BlockQ.o ../../Common/Minimal/blocktim.o
../../Common/Minimal/death.o ../../Common/Minimal/integer.o
../../Common/Minimal/PollQ.o ../../Common/Minimal/semtest.o
../../Common/Minimal/GenQTest.o ../../Common/Minimal/QPeek.o
../../Common/Minimal/recmutex.o ../../Common/Minimal/IntQueue.o
./IntQueueTimer.o ./webserver/uIP_Task.o ./webserver/emac.o
./webserver/httpd.o ./webserver/httpd-cgi.o ./webserver/httpd-fs.o
./webserver/http-strings.o
../../Common/ethernet/uIP/uip-1.0/uip/uip_arp.o
../../Common/ethernet/uIP/uip-1.0/uip/psock.o
../../Common/ethernet/uIP/uip-1.0/uip/timer.o
../../Common/ethernet/uIP/uip-1.0/uip/uip.o ../../../Source/list.o
../../../Source/queue.o ../../../Source/tasks.o
../../../Source/portable/GCC/ARM_CM3/port.o
../../../Source/portable/MemMang/heap_2.o startup.o
../../Common/drivers/LuminaryMicro/arm-none-eabi-gcc/libdriver.a
../../Common/drivers/LuminaryMicro/arm-none-eabi-gcc/libgr.a
-nostartfiles -Xlinker -oRTOSDemo.axf -Xlinker -M -Xlinker
-Map=rtosdemo.map -Xlinker --no-gc-sections
/usr/local/lib/gcc/arm-stellaris-eabi/4.4.1/../../../../arm-stellaris-eabi/bin/ld:
section .eh_frame loaded at [00014a70,00016c57] overlaps section .data
loaded at [00014a70,00014bc3]
collect2: ld returned 1 exit status
make: *** [RTOSDemo.axf] Error 1
-------------------------------------------------------------------------------
	As I say, using the demo of the CodeSourcery toolchain on Win32,
it builds fine, links fine, works as advertised.  Does anyone know what
I might be doing wrong with my toolchain to yield the above error?

	Also worth pointing out, I've tried some of the others (Yagarto,
GNUARM, etc.) which use an arm-elf target... these don't seem to work
either, erroring out with binary compatibility errors (different FPU
instruction sets, Thumb vs native ARM...etc).  Reading up seems to
suggest I should be using EABI (arm-*-eabi), not the old ABI
(arm-*-elf).  Or am I mistaken?

Regards,
-- 
Stuart Longland (aka Redhatter, VK4MSL)      .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer  '.'` :
. . . . . . . . . . . . . . . . . . . . . .   .'.'
http://dev.gentoo.org/~redhatter             :.'

I haven't lost my mind...
  ...it's backed up on a tape somewhere.

Attachment: stellaris.Makefile
Description: Text document

--
For unsubscribe information see http://sourceware.org/lists.html#faq

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]