Chapter 10. RapidIO Bringup and Initialization Programming

The RapidIO interconnect architecture is promoted as being transparent to software, so a chapter on RapidIO programming would appear to be unnecessary. However, in any embedded system, software is a critical component. RapidIO programming falls into several categories. This book will examine the following categories of RapidIO programming.

  • System initialization

  • Device enumeration

  • Route table configuration

  • Memory mapping

In embedded systems there is a much higher degree of interaction between the software and the hardware. In typical computing environments such as a Windows-based desktop computer there is relatively little interaction between the programs running on the main processor and the peripheral devices that, together with the processor, complete the system. In embedded environments there is typically much more interaction between the software and the hardware.

RapidIO systems, once configured, will pass memory and I/O transactions transparently across the RapidIO interconnect. From the point of view of software not specifically interacting with RapidIO, there is no RapidIO hardware. It is invisible to the software. For example, when a processor issues a load instruction to an address space that is configured to reside in or be associated with a device that exists across a RapidIO network, that instruction initiates the generation of a RapidIO READ transaction. The associated RapidIO packet is properly formed and sent ...

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.