This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Again with AT91SAM7X-EK
- From: Andrea Visinoni <andrea at puntualmenteinritardo dot com>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 07 Feb 2007 09:50:21 +0100
- Subject: [ECOS] Again with AT91SAM7X-EK
Excuse me to open another post on the same argoment, but i've deleted all mail
of the other post, and i cant find a way to reply to them.
this is my current situation, and i still don't know if my board is correctly
initialized...the led is off.
* my code
#include <stdio.h>
#include <cyg/hal/hal_io.h>
int main(void)
{
HAL_WRITE_UINT32(AT91_PIOB + AT91_PIO_PER, 1 << 22);
HAL_WRITE_UINT32(AT91_PIOB + AT91_PIO_OER, 1 << 22);
HAL_WRITE_UINT32(AT91_PIOB + AT91_PIO_CODR, 1 << 22);
for (;;);
}
*compiler
arm-elf-gcc -c -finline-limit=7000 -mcpu=arm7tdmi -Wall -Wpointer-arith
-Wstrict-prototypes -Winline -Wundef -g -O2 -ffunction-sections
-fdata-sections -fno-exceptions -I/at91/at91_install/include main.c
arm-elf-gcc -mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib
-L/at91/at91_install/lib -Ttarget.ld main.o -o main
arm-elf-objcopy -O binary main main.bin
*target-ld
STARTUP(vectors.o)
ENTRY(reset_vector)
INPUT(extras.o)
GROUP(libtarget.a libgcc.a libsupc++.a)
MEMORY
{
ram : ORIGIN = 0x00200000, LENGTH = 0x10000
rom : ORIGIN = 0x00100000, LENGTH = 0x40000
}
SECTIONS
{
.debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : {
*(.debug_pubnames) } .debug_info 0 : { *(.debug_info) } .debug_abbrev 0 : {
*(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : {
*(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : {
*(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } .note.arm.ident 0 : {
KEEP (*(.note.arm.ident)) }
__reserved_bootmon = 0x00000000; . = __reserved_bootmon + 0x01000;
.rom_vectors 0x00100000 : { __rom_vectors_vma = ABSOLUTE(.); . = .; KEEP
(*(.vectors)) } > rom __rom_vectors_lma = LOADADDR(.rom_vectors);
.text ALIGN (0x1) : { _stext = ABSOLUTE(.); PROVIDE (__stext = ABSOLUTE(.));
*(.text*) *(.gnu.warning) *(.gnu.linkonce.t.*) *(.init) *(.glue_7) *(.glue_7t) }
> rom _etext = .; PROVIDE (__etext = .);
.fini ALIGN (0x4) : { . = .; *(.fini) } > rom
.rodata ALIGN (0x4) : { . = .; *(.rodata*) *(.gnu.linkonce.r.*) } > rom
.rodata1 ALIGN (0x4) : { . = .; *(.rodata1) } > rom
.fixup ALIGN (0x4) : { . = .; *(.fixup) } > rom
.gcc_except_table ALIGN (0x4) : { . = .; *(.gcc_except_table) } > rom
.fixed_vectors 0x00200040 : { . = .; KEEP (*(.fixed_vectors)) } > ram
.data ALIGN (0x4) : AT ((LOADADDR (.gcc_except_table) + SIZEOF
(.gcc_except_table) + 4 - 1) & ~ (4 - 1)) { __ram_data_start = ABSOLUTE (.);
*(.data*) *(.data1) *(.gnu.linkonce.d.*) . = ALIGN (4); KEEP(*( SORT
(.ecos.table.*))) ; . = ALIGN (4); __CTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT
(.ctors*))) __CTOR_END__ = ABSOLUTE (.); __DTOR_LIST__ = ABSOLUTE (.); KEEP
(*(SORT (.dtors*))) __DTOR_END__ = ABSOLUTE (.); *(.dynamic) *(.sdata*)
*(.gnu.linkonce.s.*) . = ALIGN (4); *(.2ram.*) } > ram __rom_data_start =
LOADADDR (.data); __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .;
PROVIDE (edata = .); PROVIDE (__rom_data_end = LOADADDR (.data) +
SIZEOF(.data));
.bss ALIGN (0x4) : { __bss_start = ABSOLUTE (.); *(.scommon) *(.dynsbss)
*(.sbss*) *(.gnu.linkonce.sb.*) *(.dynbss) *(.bss*) *(.gnu.linkonce.b.*)
*(COMMON) __bss_end = ABSOLUTE (.); } > ram
__heap1 = ALIGN (0x8);
. = ALIGN(4); _end = .; PROVIDE (end = .);
}
any hints?
Bye
Andrea
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss