Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
18 years ago

Interprocessor communication

I have a multiprocessor application where the main processor is using uC/OS2. To send messages between the processors I am using altera_avalon_mailbox_pend() and altera_avalon_mailbox_post().

The problem I am having is that calling altera_avalon_mailbox_pend() from one of the tasks running on the main processor does not appear to call the uC/OS2 task scheduler when it blocks the calling task. The result is that all tasks are blocked!

Some questions:

1) Is this expected behaviour?

2) Is there a way of forcing the uC/OS2 task scheduler to run when blocking with altera_avalon_mailbox_pend()?

3) Is there a better way of performing interprocessor message passing when using uC/OS2?

Thanks.

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Yes.I have the same problem. altera_avalon_mailbox_pend() doesn't work well. It does not block the task while seems to be a busy waiting!