I used lenny's gcc crosscompiler arm-linux-gnu-gcc. I built a
microcontroller (AT91SAM9XE512) program by it.
Now I've upgraded my distro upto squeeze.
It contains arm-linux-gnueabi-gcc.
All my programs are built but don't work now.
example:
I had the following test project:
cstartup.S, main.c at91sam9xe512-flash.lds
startup/lds - were downloaded from Atmel site:
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4281&category_id=163&family_id=605&subfamily_id=1964
After I stumbled the problem I've reduced cstartup:
resetHandler:
ldr lr, =AT91C_BASE_PIOA
mov r0, #(1 << 6)
str r0, [ lr, #PIO_PER ]
str r0, [ lr, #PIO_OER ]
str r0, [ lr, #PIO_CODR ]
1:
b 1b
If the code is compiled by arm-linux-gnu-gcc it turned on the led that
is connected on PORTA[6]
If the code is compiled by arm-linux-gnueabi-gcc it doesn't work.
build commands:
$(CC) -c cstartup.S -o cstartup.o
$(CC) -Tat91sam9xe512-flash.lds cstartup.o -o cstartup.elf
$(OBJCOPY) -O binary cstartup.elf cstartup.bin
at91sam9xe512-flash.lds contains the following script:
===
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(entry)
MEMORY
{
flash (RX) : ORIGIN = 0x200000, LENGTH = 0x80000
sram (W!RX) : ORIGIN = 0x300000, LENGTH = 0x8000
sdram (W!RX) : ORIGIN = 0x20000000, LENGTH = 0x4000000
}
SECTIONS
{
.fixed :
{
. = ALIGN(4);
_sfixed = .;
*(.vectors*);
*(.text*)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
. = ALIGN(4);
_efixed = .;
} >flash
.prerelocate : AT (_efixed)
{
. = ALIGN(4);
_sprerelocate = .;
. = ALIGN(4);
_eprerelocate = .;
}
.postrelocate : AT (_efixed + SIZEOF(.prerelocate))
{
. = ALIGN(4);
_spostrelocate = .;
*(.ramfunc);
*(.data);
. = ALIGN(4);
_epostrelocate = .;
} >sram
.bss (NOLOAD) : {
_szero = .;
*(.bss)
. = ALIGN(4);
_ezero = .;
} >sram
_sstack = 0x308000;
}
end = .;
Could anybody advice what I should read to migrate between the compilers?
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment:
signature.asc
Description: Digital signature