This is the mail archive of the ecos-discuss@sourceware.org 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]

Fw: Which is correct start address with romram modewithpowerpc 8245 ?? 0x0 or 0xfff00100??


Dear Grary,

    Sorry, I have two questions about the ROMRAM.
Because I have tested the image of Cogent csb281(PowerPC 8245) with ROMRAM,
It starts at  0xfff00100 but then it jumps to 0x00003400, then it fails.
Because it imgae is burned into rom (0xffff0000-0xfff80000).
When the device powers up, the CPU starts at 0xfff00100, it refers the op
code and runs at 0xfff00100
 0xfff00100 : 3c60000
 0xfff00104 : 6063400
 0xfff00108 : 7c6803a6
 0xfff0010c : 4e800020
Then, it jumps to 0x3400.
Question 1 : Why ?? I thinks it should rums initial procedure between
0xfff00000 and 0xfff80000 .
                    Does the Cogent cbs281 image takes mistake with
                    ROMRAM mode ??
Question 2 : I only can find the code to copy the rom code to ram, But
                    I can not find the jump from  ROM to RAM.
                    Is it in vector.S or csb281.S  ?? Or other files ??

In my current platform, it can work with ROM and RAM type, but it fails with
ROMRAM.
So I have confuse the cbs281 image with ROMRAM. The attached files are the
Cogent csb281
image and elf files with ROMRAM mode.

Thank you a lot.

Steven Cheng


> >
> > StarupMode |  Vector Address | Reset Vector Address
> > ---------------------------------------------------------------
> > ROM            |    0xFFF00000   |   0xFFF00100
> > ROMRAM   |    0x0                  |   0x100
> > RAM            |    0x0                  |   0x100
> >
> Do you understand how the "start from RESET" works on this
platform?
> Try reading the documentation (hardware manuals) and you'll see that
> after RESET, *ALL* addresses map only onto the FLASH, so it doesn't
> really matter what address the ROMRAM version is linked at. It starts
> executing, just like the ROM version, at 0x100 into the code.  The
> next thing that gets done is to set up the hardware to actually be
> able to access the RAM, etc.  Once this is done, the code is copied
> from the FLASH (aka ROM) to RAM and then execution continues from

> that RAM location.  Thus the code needs to be linked at RAM addresses
> even though it starts out life in ROM (hence the ROMRAM moniker)
>
> In the case of the ROM version, it actually executes from the ROM
> (FLASH), so it must be linked to those addresses.
>

Attachment: csb281.S
Description: Binary data

Attachment: vectors.S
Description: Binary data

-- 
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]