5.4. OUTBOUND MAILBOX STRUCTURES

The structure of the outbound mailbox, like the inbound mailbox, can vary in complexity in connection with the capabilities and performance of the end point.

5.4.1. A Simple Outbox

Generation of a message can be as simple as writing to a memory-mapped descriptor structure either in local registers or memory. The simple outbound message queue looks similar to the simple inbox message queue (Figure 5.7).

The local processor reads a port in the outbound mailbox to obtain the position of a head pointer in local memory. This read may result in a special data value that indicates that the outbound message queue is full. This might be a technique to efficiently communicate queue status to the processor. Assuming that the queue is not full, then the processor would write a descriptor structure and message to the location pointed to by the head pointer. After the descriptor and message data have been written, the processor would perform a write to the message port hardware to advance the head pointer and mark the message as queued.

Figure 5.7. Simple outbound queue structure
Figure 5.8. Extended outbound queue structure

5.4.2. An Extended Outbox

A more extensible method of queueing messages is again a two-level approach (Figure 5.8). Multiple structures ...

Get RapidIO: The Next Generation Communication Fabric For Embedded Application now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.