This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


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

Re: Int Vectors and Build Problem


for the atmel arm7 processor, the value at address 0 is an instruction, not
a value.
(either "b       reset_vector" or "ldr     pc,.reset_vector")

Eric.

----- Original Message ----- 
From: "Leo McManus" <leomcmanusir@yahoo.com>
To: "Ecos EcosList" <ecos-discuss@sources.redhat.com>
Sent: Friday, March 26, 2004 1:31 PM
Subject: [ECOS] Int Vectors and Build Problem


> ARM720T on ARM Integrator board.
>
> After building my eCos executable, I can see in my Srecord and with my
GDB,
> that the int vectors, which are loaded at download time to address 0x40000
and
> later copied to address 0x0, point to address 0xE59FF018, which holds no
> memory. This is worked out at compilation time.
>
> Would anyone know where these values maybe picked up from? Am I missing
> anything in my linker file below?
>
> Thanks
>
> Leo
>
> LINKER FILE:
>
> ------------------------------------------------------------
>
>
STARTUP(/Install/eCos4Usb/build/ecos-integrator/integrator_install/lib/vecto
rs.o)
> ENTRY(reset_vector)
>
INPUT(/Install/eCos4Usb/build/ecos-integrator/integrator_install/lib/extras.
o)
>
>
>
>
> GROUP
> (
> /Install/eCos4Usb/build/ecos-integrator/integrator_install/lib/libtarget.a
> /opt/gnutools/lib/gcc-lib/arm-elf/3.2.1/armv4t/libgcc.a
> /opt/gnutools/arm-elf/lib/armv4t/libsupc++.a
>
/Install/eCos4Usb/build/ecos-integrator/usb_software/lib/device/am7tdmi.arm-
elf/MYlib.a
> )
>
> MEMORY
> {
>     ram : ORIGIN = 0, LENGTH = 0x08000000
> }
>
> SECTIONS
> {
>     .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : {
> *(.debug_pubnames) } .debug_info 0 : { *(.debug_info) } .debug_abbrev 0 :
{
> *(.debug_abbrev) } .debug_l
> ine 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)) }
>     .fixed_vectors 0x20 : { . = .; KEEP (*(.fixed_vectors)) } > ram
>     .rom_vectors 0x40000 : { __rom_vectors_vma = ABSOLUTE(.); . = .; KEEP
> (*(.vectors)) } > ram __rom_vectors_lma = LOADADDR(.rom_vectors);
>     .rel.text : { *(.rel.text) *(.rel.text.*) *(.rel.gnu.linkonce.t*) } >
ram
> .rela.text : { *(.rela.text) *(.rela.text.*) *(.rela.gnu.linkonce.t*) } >
ram
> .rel.data : {
> *(.rel.data) *(.rel.data.*) *(.rel.gnu.linkonce.d*) } > ram .rela.data : {
> *(.rela.data) *(.rela.data.*) *(.rela.gnu.linkonce.d*) } > ram .rel.rodata
: {
> *(.rel.rodata) *
> (.rel.rodata.*) *(.rel.gnu.linkonce.r*) } > ram .rela.rodata : {
> *(.rela.rodata) *(.rela.rodata.*) *(.rela.gnu.linkonce.r*) } > ram
.rel.got : {
> *(.rel.got) } > ram .rela
> .got : { *(.rela.got) } > ram .rel.ctors : { *(.rel.ctors) } > ram
.rela.ctors
> : { *(.rela.ctors) } > ram .rel.dtors : { *(.rel.dtors) } > ram
.rela.dtors : {
> *(.rela.dto
> rs) } > ram .rel.init : { *(.rel.init) } > ram .rela.init : {
*(.rela.init) } >
> ram .rel.fini : { *(.rel.fini) } > ram .rela.fini : { *(.rela.fini) } >
ram
> .rel.bss : { *
> (.rel.bss) } > ram .rela.bss : { *(.rela.bss) } > ram .rel.plt : {
*(.rel.plt)
> } > ram .rela.plt : { *(.rela.plt) } > ram .rel.dyn : { *(.rel.dyn) } >
ram
>     .text ALIGN (0x4) : { _stext = ABSOLUTE(.); PROVIDE (__stext =
> ABSOLUTE(.)); *(.text*) *(.gnu.warning) *(.gnu.linkonce.t.*) *(.init)
> *(.glue_7) *(.glue_7t) } > ram _e
> text = .; PROVIDE (__etext = .);
>     .fini ALIGN (0x4) : { . = .; *(.fini) } > ram
>     .rodata ALIGN (0x4) : { . = .; *(.rodata*) *(.gnu.linkonce.r.*) } >
ram
>     .rodata1 ALIGN (0x4) : { . = .; *(.rodata1) } > ram
>     .got ALIGN (0x4) : { . = .; *(.got.plt) *(.got) _GOT1_START_ =
ABSOLUTE
> (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); _GOT2_START_ = ABSOLUTE (.);
*(.got2)
> _GOT2_END_ = AB
> SOLUTE (.); } > ram
>     .fixup ALIGN (0x4) : { . = .; *(.fixup) } > ram
>     .gcc_except_table ALIGN (0x4) : { . = .; *(.gcc_except_table) } > ram
>     .data ALIGN (0x4) : { __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
> (.); *(.dynami
> c) *(.sdata*) *(.gnu.linkonce.s.*) . = ALIGN (4); *(.2ram.*) } > ram
> __rom_data_start = LOADADDR (.data); __ram_data_end = .; PROVIDE
> (__ram_data_end = .); _edata = .; PR
> OVIDE (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
>
>
> =====
> Mobile Belgium: +32 (0)495 89 59 65
> Contact in France:  +33 (0)476 275661
>
> Registered Linux User Number 205935.
> http://counter.li.org.
>
>
>
>
>
> ___________________________________________________________
> Yahoo! Messenger - Communicate instantly..."Ping"
> your friends today! Download Messenger Now
> http://uk.messenger.yahoo.com/download/index.html
>
> -- 
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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