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


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