There seems to be a need by several people for some form of messaging service to pass messages between cores. So some kind of standard routine would be useful
I'm not convinced everyone wants the same thing though so perhaps people could explain what their requirements are.
I'll start with
Able to send message to a particular core
Able to pass message to own core
Able to send a message to a workgroup so that any member of the workgroup can pick it up
Message might be in local or external RAM.
Can send and forget (but perhaps not reuse the memory immediately)
Can send and wait for acknowledgement of completion of transmission (not the same as processed!)
Can retrieve a message sent for this core
Can retrieve a message sent for the workgroup
Any thoughts on typical size of message etc? Clearly external RAM has more space.
Can filter the above by message type (implies some type field present)
Technical
Fast
Supports heterogenous programs in the cores. So if you put messaging in your program it can communicate with a different program altogether in another core (May require changes to standard Linker scripts)
Easy to use (no complex set up in code)
Regards,
Tim