A Chip Object provides an abstraction layer of the particular hardware supported by the Chip Object. The abstraction consists of encapsulating the multitude of registers and bitfields on a particular device in logical objects and methods in C++ classes. In some cases, there may be more than one Chip Object for one device, with each Chip Object addressing a different subsystem on the device. Using the Chip Objects, you can configure and program the device by invoking logical methods to set, unset, and configure specific attributes of the device. The RLP examples illustrate this process for different operations. The RLP examples and Chip Objects are both platform and OS independent, and can thus be used on a wide range of OSes and platforms. The Chip Objects interface to the hardware on a specific OS and platform using the osiBus layer, which is implemented for each specific OS/platform combination. For more information about using Chip Objects, refer to How to Use a Chip Object.
If available for your hardware, Chip Objects are the simplest and easiest method to access your hardware through RLP. The Chip Objects provide objects and methods using logical names for the registers and bit fields on the hardware. While not as simple to use as the NI-DAQmx driver, this greatly simplifies RLP and eliminates many common errors. In addition, the Chip Objects eliminate some additional difficulties such as windowed register access. Since the Chip Objects are based on the osiBus layer, they also eliminate the need for memory mapping. In cases where your platform OS is not supported by the current osiBus implementations, you will need to port osiBus to the new platform.