This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Memory layout
- From: "Agarwal, Lomesh" <lomesh dot agarwal at intel dot com>
- To: "'Jonathan Larmour'" <jlarmour at redhat dot com>
- Cc: eCos Discuss <ecos-discuss at sources dot redhat dot com>
- Date: Wed, 10 Apr 2002 18:18:22 -0700
- Subject: RE: [ECOS] Memory layout
Thanks for the reply.
One question:
When vectors.s copies __exception_handlers manually I am adding 0xc4000000
to the __exception_handlers address. But since my rom is defined as
0xc4000000, so I don't need to add 0xc4000000 while copying. Right?
-----Original Message-----
From: Jonathan Larmour [mailto:jlarmour@redhat.com]
Sent: Wednesday, April 10, 2002 5:39 PM
To: Agarwal, Lomesh
Cc: eCos Discuss
Subject: Re: [ECOS] Memory layout
"Agarwal, Lomesh" wrote:
>
> During startup my flash is at 0 then I unalias it. After unaliasing flash
> sits at 0xc4000000 and RAM sits at 0.
> What about this:
> MEMORY
> {
> ram : ORIGIN = 0x00000000, LENGTH = 0x10000000
> rom : ORIGIN = 0xc4000000, LENGTH = 0x01000000
> }
This now looks right.
> SECTIONS
> {
> SECTIONS_BEGIN
> SECTION_rom_vectors (ram, 0x00000000, LMA_EQ_VMA) // vector page
gets
> remapped from ROM to RAM
It still has to be loaded into ROM, and the way eCos works, it copies the
vectors "manually" in vectors.S into the start of RAM - look at everything
about __exception_handlers in vectors.S. So actually this should be:
SECTION_rom_vectors (rom, 0xc4000000, LMA_EQ_VMA)
> SECTION_text (ram, 0x00002000, LMA_EQ_VMA)
Should be SECTION_text (rom, ALIGN(0x4), LMA_EQ_VMA)
> SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
> SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
> SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
> SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
> SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
> SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
Should be ram
Jifl
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss