This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
ROM, RAM and sections question
- From: Lars Poeschel <larsi at wh2 dot tu-dresden dot de>
- To: ecos-discuss at sources dot redhat dot com
- Date: Fri, 2 Mar 2007 11:49:09 +0100
- Subject: [ECOS] ROM, RAM and sections question
Hello!
I am porting ecos to fr30 architecture and got redboot running from flash. My
development board has flash from 0x80000-0x800000 and ram from
0x2000000-0x2800000. So I fixed output section with vector table (fixed
vectors) to 0x2000000, following data and bss sections for the ROM case.
In RAM case I have fixed vectors at 0x2000000 following text, data and bss.
As I said redboot runs and gives me the following memory message:
RAM: 0x02000000-0x027fffff, [0x02007000-0x027fffff] available
Now I want to load my RAM built hello example using redboot.
It complains:
*** Abort! Attempt to load ELF data to address: 0x02000054 which is not valid
Ok this is not valid since redboot uses this area, but if I load it to another
address 0x2100000 for example, it simply crashes my board. I could trace that
redboots trampoline function correctly calls the entry point of the
application, which is 0x2100500 for that case. The hello example built for
ROM and burned to flash runs fine.
I think that the relocation redboot seems to do does not work correct for me.
My questions are, if it is correct to lay the fixed vectors to the beginning
of RAM and if it is the normal case, the redboot has to relocate RAM binaries
it loads. What do I have to change in my memory layout (maybe to have redboot
not to relocate the loaded binary) ?
Thanks,
Lars
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss