Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Interprocessor communication

Altera_Forum
Honored Contributor II
1,161 Views

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.
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
457 Views

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!

0 Kudos
Reply