[ECOS] eCos memory layout: other RAM Position than 0x0
Robert Meiche
rmeiche@gmx.de
Tue Sep 15 16:46:00 GMT 2009
Hi.
I have the problem, that i need to position eCos at another RAM position.
I'm doing a diploma thesis which includes a multicore environment on an Virtex-II(XUP-BOARD). In this environment, the sections are located as following:
.boot 0xfffffffc
.boot0 0xffffe000
all the other sections are located in RAM beginning at position 0x0.
Now I need the position 0x0 for the PC of the microblaze CPU. So I wanted to position eCos at 0x100.
I modified the files
mlt_powerpc_virtex4_romram.h and
mlt_powerpc_virtex4_romram.ldi
The eCos configuration is set to romram startup-type. After building eCos, everything seems fine when I look at the linkerscript.
Running a single threaded app works fine. But running a multithreaded app gives me the following error message:
Sorting data...ASSERT FAIL: <1>mlqueue.cxx[281]void Cyg_Scheduler_Implementation::rem_thread() Idle thread trying to sleep!
ASSERT FAIL: <1>mlqueue.cxx [ 281] void Cyg_Scheduler_Implementation::rem_thread() I!TRACE: <1>thread.cxx [ 224] Cyg_Thread::Cyg_Thread() }}returdTRACE: <1>thread.cxx [ 597] void Cyg_Thread::resume()
The other Problem is, that the eCos configuration includes the POSIX compatibility layer. But after Changing the memory layout files, apps, which includes a main() function don't start until I rename them to cyg_user_start.
Does anyone ever changed the RAM Postion of eCos and can give me some hints?
Regards,
Robert
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list