Overview
■A message queue is created to allow the remote node to receive commands from the GPP.
■The
■A dedicated execution thread (task) is created for the node. The new thread does not run yet, but is in a suspended state.
■In the dispatcher thread, instance data for the new node is saved, and then the dispatcher sends a status response back to the GPP.
■On success, the
■A "start" message is then formed and sent to the dispatcher on the DSP to start execution of the remote node.
■Upon receiving the "start" command, the
2)The application calls the VISA process API (for example, AUDENC_process() ), which results in a remote procedure call to the DSP:
■The
■A message structure is allocated and filled in with marshalled arguments, including translated (DSP) physical addresses for buffers.
■The "process" message is sent to the remote node's message queue on the DSP to invoke the remote algorithm.
■On the
■The skeleton unmarshalls the arguments and input and output buffers and then invalidates the buffers from the DSP cache.
■Any algorithm scratch memory is then "activated".
■The algorithm's actual "process" function is invoked to do the encoding.