[ECOS] Linker script question? where is the fixed_vectors section?ARM

Jonathan Larmour jifl@eCosCentric.com
Fri Jan 24 06:59:00 GMT 2003

Qiang Huang wrote:
> if the flash is originally located at 0x0000H, then if I create a S-record
> file and want to download it to the rom, where will be the section:
> fixed_vectors stored? because it is defined as:     SECTION_fixed_vectors
> (ram, 0x20, LMA_EQ_VMA),  according to LMA_EQ_VMA it should be stored at the
> same address as the VMA as here in the ram, how is this interpreted in the
> S-record file (file for downloading into the flash memory)? Thanks a lot.
> BTW the order of the sections in the flash memory after the S-record file
> downloaded is:
> 0x0000H    1. rom_vectors
> continue.   2. text
> cont.           3. fini
> cont.           4. rodata
> cont.           5. rodata1
> cont.           6. fixup
> cont.           7. gcc_exception_table
> cont.           8. data
> Is the correct? if so where is the fixed_vectors section stored in
> flash(rom).

It isn't in ROM, it's in RAM. It doesn't have the "LOAD" attribute for the
section (a property when it's defined in vectors.S) and so no space is
allocated in the ROM image. If you see how it's defined in vectors.S
you'll see it's only filled with 0s after all.

The only reason it exists at all is the symbols in it - they are 
effectively pointers that can be used in other parts of eCos to address 
the correct location in the fixed_vectors section. The linker does the 
relocation magic.

eCosCentric       http://www.eCosCentric.com/       <info@eCosCentric.com>
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- 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

More information about the Ecos-discuss mailing list