This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Two quections about memory layou of Samsung SNDS
- From: "yzj" <yzj at chinadigipro dot com>
- To: <ecos-discuss at ecos dot sourceware dot org>
- Date: Fri, 19 Mar 2004 10:58:05 +0800
- Subject: [ECOS] Two quections about memory layou of Samsung SNDS
The memory layout in current CVS files:
mlt_arm_snds_rom
SECTIONS_BEGIN
SECTION_rom_vectors (rom, 0x1800000, LMA_EQ_VMA)
SECTION_text (rom, ALIGN (0x1), 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 (ram, 0x20, LMA_EQ_VMA)
SECTION_data (ram, 0x20000, FOLLOWING (.gcc_except_table))
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
mlt_arm_snds_ram
SECTIONS_BEGIN
SECTION_fixed_vectors (ram, 0x200, LMA_EQ_VMA)
SECTION_rom_vectors (ram, 0x00020000, LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
focusing on the fixed_vertors section, In the ROM version, which is at 0x20
but in RAM version, this section is at 0x200, why?
Do i need to put the fixed_vectors at the same address in both RAM and ROM verson?
and I make a RedBoot_ROM, whick is worked very well, and the .data section is at 0x20000.
But the mlt_arm_snds_ram put the rom_vector and .text into the memory from 0x2000,
so if i want to load a eCos test program of RAM version, i have to change
the memory layout, and change the begin address from 0x2000 to a higher address.
my understanding is right?