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.

Table 4.1. I/O logical operations
OperationTransactions usedDescription
ReadNREAD, RESPONSENon-coherent read from system memory
WriteNWRITENon-coherent write to system memory
Write-with-responseNWRITE_R, RESPONSENon-coherent write to system memory that waits for a response before signaling operation completion
Streaming-writeSWRITENon-coherent write optimized for large DMA transfers
Atomic (read–modify–write)ATOMIC, RESPONSERead-modify-write operation useful for multiprocessor semaphoring
MaintenanceMAINTENANCETransactions 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.