NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
DIO Library
Content is no longer maintained and is being kept for reference only!
DIO Library ( DIOlib )
Purpose and Scope
This DIO library aims at providing a CSL-like Serial RapidIO "functional layer" for the directIO mode of Texas Instruments' TMS320C645x/7x DSP platform. The I/O operations supported by this library are defined in RapidIO Interconnect Specification rev1.2 - Chapter 2. The DIO library is built on top of TMS320C645x/7x Chip Support Library.
Note: DIO Library is available for download at TI's Gforge: https://gforge.ti.com/gf/project/sriodirectiolib/
[At the gforge site, click on the top or most recent Activity Type, then on the zip filename, then on the (download) link for the HEAD entry.]
DIO library modules
This DIO library contains 5 different modules:
RIO module : The RIO module is dedicated to the definition of generic elements for the TMS320C645x/7x SRIO module (independent to the directIO or message passing protocols) and dedicated to the H/W initialization of the SRIO module.
DIO module : This DIO module is dedicated to the handling of Serial RapidIO directIO operations supported by the TMS320C645x/7x SRIO module. DIO differentiates three types of operations: data request packets (nread, nwrite, nwrite_r, swrite and atomic), maintenance request packets, and doorbell signals. The DIO module also supports one-shot long (>4KBytes) read and write I/O operations with EDMA-initiated "streaming" requests. Finally, the DIO module offers "raw" IDMA or EDMA directIO fast request. It assumes the application has pre-configured directIO operations at initialization time. This functionality gives the application a way to bypass the configuration calls of higher level DIO lib APIs, by re-using pre-set LSU command sets.
COM module : This COM module contains benchmarking APIs, the library error handler and callback set, and a random bit generator. Please note that the COM module is not documented.
BRU module : The BRU module is dedicated to the support of system bring up. Initial scope is to enable static system configuration, where one end point has knowledge about the topology of the system.
TST module : "$(DirectIODir)/test" contains all tests used to validate the library.