MSGQ Module
Application Program Interface
2-231
/* Transport object */
typedef struct MSGQ_TransportObj {
MSGQ_MqtInit initFxn; /* Transport init func */
MSGQ_TransportFxns *fxns; /* Interface funcs */
Ptr params; /* Setup parameters */
Ptr object; /* Transport-specific object */
Uint16 procId; /* Processor Id talked to */
} MSGQ_TransportObj;
Configuration
Properties
The following list shows the properties that can be configured in a Tconf
script, along with their types and default values. For details, see the
MSGQ Manager Properties heading. For descriptions of data types, see
Section 1.4,
Module Configuration Parameters
Description
The MSGQ module allows for the structured sending and receiving of
variable length messages. This module can be used for homogeneous or
heterogeneous multi-processor messaging. The MSGQ module with a
substantially similar API is implemented in DSP/BIOS Link for certain TI
general-purpose processors (GPPs), particularly those used in OMAP
devices.
MSGQ provides more sophisticated messaging than other modules. It is
typically used for complex situations such as multi-processor messaging.
The following are key features of the MSGQ module:
❏
Writers and readers can be relocated to another processor with no
runtime code changes.
❏
Timeouts are allowed when receiving messages.
❏
Readers can determine the writer and reply back.
❏
Receiving a message is deterministic when the timeout is zero.
❏
Sending a message is non-blocking.
❏
Messages can reside on any message queue.
❏
Supports zero-copy transfers.
❏
Can send and receive from HWIs, SWIs and TSKs.
❏
Notification mechanism is specified by application.
❏
Allows QoS (quality of service) on message buffer pools. For
example, using specific buffer pools for specific message queues.
Name
Type
Default (Enum Options)
ENABLEMSGQ
Bool
false