PLX’s interactive help system helps you quickly research PLX’s USB device-side Application Programmer’s Interface (API).
API Overview
PLX provides a portable, chip-independent API for its NET2272 and NET2280 USB class device-side interface controllers. PLX customers develop API clients on top of the API. Clients do not need any knowledge of how the chip, chip registers, interrupts, nor (optionally) DMA1 works. Clients can therefore focus on results. Numerous client applications are available as starter models.
Along with the API, PLX provides more than a dozen working real-world client applications, with sources. From established class applications such as USB Printer, Mass Storage, and RNDIS, to vendor-specific applications such as Loopback (for engineering stress tests) and Transfer (used as the foundation for most USB device applications), PLX offers solutions for every requirement. New applications are added “on-demand.”
Getting Results
In most cases, customers perform a direct port of PLX’s API sources to their platform. The customer does not need to know intimate details of the PLX USB chip nor its operation; instead, the customer simply adds minimal platform-specific changes so that register access, interrupts and DMA1 work.
The customer then chooses the most appropriate API client from PLX’s growing list of client applications, such as Mass Storage or Printer.
With a good hardware design, properly ported API and an appropriate “starter” client application, customers enjoy rapid deployment of reliable and efficient USB devices.
API Documentation Sections
PLX API documentation is separated into the following sections:
Client Functions: The API exposes device and endpoint functions for client application use.
States and Events: The API maintains device states, endpoint states, and uses event callback functions to notify clients.
Structures: Most calls to the API pass references to structures.
Documentation Tour
Programmers new to PLX USB device-side API programming can take the PLX USB Firmware API Tour.
See Also
PLX PCI-RDK Design Kit: Includes PCI board, drivers, and documentation for developing portable, working firmware in a Windows desktop environment.
Universal Serial Bus Specification, Revision 2.0: Provides information specific to USB. Referenced throughout this help system as USB r2.0. Available through the USB Implementers Forum.
--------------------------------------------------------------------------------
[1] DMA operation may require DMA-specific chip knowledge, especially for NET2272 class chips. A general rule is to first prove full USB functionality with Programmed I/O (PIO), then apply DMA to optimize USB transfer performance.