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: Platform Memory Layout for an ARM9 port


Look throught the following codes you will be able to find out how the
exception vectors have be set to address: 0x00

from vectors.S
========================================================================
        // Reset software interrupt pointer
        mov     r0,#0           // move vectors
        ldr     r1,.__exception_handlers
#if defined(CYG_HAL_STARTUP_RAM) && \
    !defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
        cmp     r7,#CPSR_SUPERVISOR_MODE
        beq     10f
#endif
        ldr     r2,[r1,#0x28]   // software interrupt
        str     r2,[r0,#0x28]
10:
        ldr     r2,[r1,#0x18]   // IRQ
        str     r2,[r0,#0x18]
        ldr     r2,[r1,#0x38]
        str     r2,[r0,#0x38]
        ldr     r2,[r1,#0x1C]   // FIQ
        str     r2,[r0,#0x1C]
        ldr     r2,[r1,#0x3C]
        str     r2,[r0,#0x3C]
        ldr     r2,[r1,#0x0C]   // abort (prefetch)
        str     r2,[r0,#0x0C]
        ldr     r2,[r1,#0x2C]
        str     r2,[r0,#0x2C]
        ldr     r2,[r1,#0x10]   // abort (data)
        str     r2,[r0,#0x10]
        ldr     r2,[r1,#0x30]
        str     r2,[r0,#0x30]
============================================================================
===================================

Note the VSRs have been written to addr 0x00 rather than loadded by srec
file (for RAM based program)





-----Original Message-----
From: ecos-discuss-owner@sources.redhat.com
[mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of Michael
Anburaj
Sent: 12 June 2003 09:23
To: andrew.lunn@ascom.ch
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] Platform Memory Layout for an ARM9 port


Hi,
>
>Disassemble a bit more. Look at the code after the warm_reset label.
>

I dissabled the whole image using the following command:
$ arm-elf-objdump redboot.elf -D > redboot.asm

clippings near warm_reset:

00001204 <warm_reset>:
    1204:	e3a00000 	mov	r0, #0	; 0x0
    1208:	e59f14c8 	ldr	r1, [pc, #1224]	; 16d8 <_eCos_id+0x3c>
    120c:	e5912008 	ldr	r2, [r1, #8]
    1210:	e5802008 	str	r2, [r0, #8]

00001214 <start>:
    1214:	e3a00000 	mov	r0, #0	; 0x0

warm_reset is laid at 0x1204.

clipping from the redboot.srec file:

S02B00002F726F6F742F65636F732F746573745F696E7374616C6C2F62696E2F726564626F6F
742E7372656362

S2140010000E0000EA18F09FE518F09FE518F09FE53F

S21400101018F09FE50000000018F09FE518F09FE527



does not have anything for addresses from 0x0000.0000. For some reason the
image has the hardware vector's starting 0x1000.

Please help me out!

Thanks a lot,
-Mike.

_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail


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


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


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