This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Platform Memory Layout for an ARM9 port
- From: "QiangHuang" <jameshq at liverpool dot ac dot uk>
- To: "Michael Anburaj" <embeddedeng at hotmail dot com>
- Cc: "Ecos-Discuss" <ecos-discuss at sources dot redhat dot com>
- Date: Thu, 12 Jun 2003 09:45:41 +0100
- Subject: RE: [ECOS] 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