The RTDMA driver provides API to configure the RTDMA module. Below are the high level features supported by the RTDMA driver.
Features Supported
- 10 RTDMA channels with software configurable priority levels and independent PIPE interrupts
- Up to 256 hardware trigger sources to initiate RTDMA transfers
- Internal trigger generation for data transfers and trigger sources for channels
- Independent Read and Write buses
- Word Size: 8-bit, 16-bit, 32-bit, and 64-bit transfers (SPI limited to 16-bit)
- Throughput: 1 cycle/word after the initial read-write access with 0 cycle read/write stall
- Supports linear and circular addressing modes
- Supports multiple data transformation functions as data is transferred from source to destination • Ability to reverse bytes, half words, etc
- Burst Mode Support (for transfers with EMIF)
- Support for access protection through the Memory Protection Unit (MPU)
SysConfig Features
- Note
- It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle.
- RTDMA channel selection and configuration.
- Source and destination address setup options.
- Enabling and configuring RTDMA interrupt.
- Configuring RTDMA Error aggregator events in Error Signaling Module.
- Enabling RTDMA MPU
- MPU Region selection and configuration.
Features NOT Supported
NA
Important Usage Guidelines
- RTDMA MPU is enabled by default and the channels have no access to any memory region. Configure RTDMA MPU to make transfers.
Example Usage
Include the below file to access the APIs #include <rtdma.h>
API
RTDMA