This is the mail archive of the ecos-discuss@sourceware.org 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: ROM, RAM and sections question


Lars Poeschel wrote:
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) ?

The problem is that eCos code is not position independent - you must load and execute it at the location it was linked for.

Look at how it's done for other platforms - the RAM configurations
explicitly use memory that does not conflict with RedBoot's usage.


-- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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