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