4.2. REQUEST CLASS TRANSACTIONS
We will start by examining the Request class operation. We will look at the NREAD transaction first. An NREAD is a request by one RapidIO device to another to deliver the contents of a region of memory to the requester. The memory request can be between 1 and 256 bytes in length. There are some alignment restrictions on the data that is returned. For data over 8 bytes, it must be double-word aligned and a multiple of 8 bytes in length. For data below 8 bytes, the data must still be properly aligned in memory and the rdsize and wdptr fields are used to generate byte masks to indicate which bytes of data are valid. The minimum payload size is 8 bytes. This helps to ensure that RapidIO packets remain a multiple of 8 bytes in length. More detail on data alignment restrictions in RapidIO is found in Section 4.8.
Operation | Transactions used | Description |
---|---|---|
Read | NREAD, RESPONSE | Non-coherent read from system memory |
Write | NWRITE | Non-coherent write to system memory |
Write-with-response | NWRITE_R, RESPONSE | Non-coherent write to system memory that waits for a response before signaling operation completion |
Streaming-write | SWRITE | Non-coherent write optimized for large DMA transfers |
Atomic (read–modify–write) | ATOMIC, RESPONSE | Read-modify-write operation useful for multiprocessor semaphoring |
Maintenance | MAINTENANCE | Transactions targeting RapidIO specific registers |
4.2.1. Field Definitions for Request Class Transactions
Figure 4.1 shows the Type 2 packet ...
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.