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]

Bad Reset Vector ?



Hi,

I have disassembled a redboot binary and found a strange
value for the reset vector, which contains 0x00000060
instead of 0x00000040. Since the target address falls
in the middle of the routine, depending on the value of 
r2 an exception is thrown and the CPU hangs.

What could be the cause of this misplacement ?

Thank you.


fhh_build/bin/redboot.elf:     file format elf32-littlearm
 
Disassembly of section .rom_vectors:
 
50000000 <__exception_handlers>:
50000000:   e59ff018    ldr pc, [pc, #18]   ; 50000020 <vectors>
50000004:   e59ff018    ldr pc, [pc, #18]   ; 50000024
<.undefined_instruction>
50000008:   e59ff018    ldr pc, [pc, #18]   ; 50000028
<.software_interrupt>
5000000c:   e59ff018    ldr pc, [pc, #18]   ; 5000002c <.abort_prefetch>
50000010:   e59ff018    ldr pc, [pc, #18]   ; 50000030 <.abort_data>
50000014:   00000000    andeq   r0, r0, r0
50000018:   e59ff018    ldr pc, [pc, #18]   ; 50000038 <.IRQ>
5000001c:   e59ff018    ldr pc, [pc, #18]   ; 5000003c <.FIQ>
 
50000020 <vectors>:
50000020:   00000060    andeq   r0, r0, r0, rrx
 
50000024 <.undefined_instruction>:
50000024:   50000344    andpl   r0, r0, r4, asr #6
 
50000028 <.software_interrupt>:
50000028:   500003c8    andpl   r0, r0, r8, asr #7
 
5000002c <.abort_prefetch>:
5000002c:   50000400    andpl   r0, r0, r0, lsl #8
 
50000030 <.abort_data>:
50000030:   5000047c    andpl   r0, r0, r12, ror r4
50000034:   00000000    andeq   r0, r0, r0
 
50000038 <.IRQ>:
50000038:   50000584    andpl   r0, r0, r4, lsl #11
 
5000003c <.FIQ>:
5000003c:   5000054c    andpl   r0, r0, r12, asr #10
Disassembly of section .text:
 
50000040 <reset_vector>:
50000040:   e3a01201    mov r1, #268435456  ; 0x10000000
50000044:   e3a02000    mov r2, #0  ; 0x0
50000048:   e5812000    str r2, [r1]
5000004c:   e59f1688    ldr r1, [pc, #688]  ; 500006dc <_eCos_id+0x14>
50000050:   e59f2688    ldr r2, [pc, #688]  ; 500006e0 <_eCos_id+0x18>
50000054:   e5812000    str r2, [r1]
50000058:   e59f1684    ldr r1, [pc, #684]  ; 500006e4 <_eCos_id+0x1c>
5000005c:   e59f267c    ldr r2, [pc, #67c]  ; 500006e0 <_eCos_id+0x18>
50000060:   e5812000    str r2, [r1]
50000064:   e59f167c    ldr r1, [pc, #67c]  ; 500006e8 <_eCos_id+0x20>
50000068:   e59f2670    ldr r2, [pc, #670]  ; 500006e0 <_eCos_id+0x18>

-- 
Jordi Colomer
Technology Engineer 
TREND Communications, S.L. (former ICT electronics, S.A.) 
http://www.trendcomms.com Tel. +34 93 3003313 - fax. +34 93 3092385


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