This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Subject: memory layout tool
- From: "oliver munz @ s p e a g" <munz at speag dot ch>
- To: <chiszp at hotmail dot com>, <ecos-discuss at sources dot redhat dot com>
- Date: Tue, 5 Jul 2005 14:43:49 +0200
- Subject: [ECOS] Re: Subject: [ECOS] memory layout tool
- Reply-to: "oliver munz @ s p e a g" <munz at speag dot ch>
Hi
1. At startup the vectors should be in ROM and start from 0 (If Your ROM
isn't defined from 0 then it has to be mirrored in the range of 0, and later
replaced with a RAM-region, after RAM-initalizing)
2. This mean that the ROM-data don't will be moved in to a RAM-region.
http://www.ecoscentric.com/ecospro/doc/html/user-guide/modifying-the-memory-layout.html
3. Most SECTIONS come from the GCC... The real linker-srcript is
...\lib\target.ld in Your eCos-include-dir after building the eCos-libray.
The .data section has to be copied from ROM to RAM before the C-code starts
(variable initialisation). The .bss section has to be cleared...
http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Variable-Attributes.html#index-g_t_0040code_007bsection_007d-variable-attribute-1671
http://gcc.gnu.org/onlinedocs/
http://www.embedded.com/2000/0002/0002feat2.htm
Try to modify first an ROM.ldi of a silminar layout and .h. You only have to
edit Memory Startingpoint and size in *.ldi and *.h. Then build a image -
redboot or what ever and look at the generated code...
Use:
arm-elf-objdump -d -h -S Your_image.elf > Your_image.disass
Greatings Oli
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss