Multiprocessor problems

Roger Dahlkvist ruppe at
Fri May 22 15:06:48 UTC 2009


I'm using a timer ISR polling method checking for new messages from other nodes. Unfortunately the system crashes as soon as rtems_multiprocessing_announce is called.

However, rtems_multiprocessing_announce works just fine if it's called just after the initialization phase, before the initinitialization task is started. That's really strange.

So for example, if I make one node get initialized and started faster than the other node (using less drivers etc), I'll be able to create global objects. and as long as the other node has not started the initialization task, the message is received and the global objects table is updated, so it can be identified later on. But I can't use them since furter calls to rtems_multiprocessing_announce will fail.

At this point I feel like I have tested just about everything, with no luck. It's urgent that I get MP to work properly. 
I'm using Nios II processors and I have defined my own MPCI routines. I'm confident that they work properly and I have verified that the system crashes before they are even invoked.

Is there anyone with MP experience who might have a clue of what's causing my problems? Any help is MUCH appreciated.


More information about the users mailing list