This example performs UDMA block copy transfer using Type 15 Transfer Record (TR15) using Transfer Record Packet Descriptor (TRPD) in interrupt mode.
The application opens and configures a BCDMA channel using SysConfig. It also configures the interrupt mode of operation through the SysConfig which ensures that all required interrupt configuration are done. The callback function App_udmaEventCb is registered via SysConfig.
Then the application prepares a TRPD for a 1D transfer from source to destination buffer, submits the request to DMA, waits for the DMA to complete by waiting on a semaphore which is posted in the callback function.
Once the transfer it completes, it does cache operation for data coherency and compares the source and destination buffers for any data mismatch.
Parameter | Value |
---|---|
CPU + OS | r5fss0-0 freertos |
r5fss0-0 nortos | |
r5fss0-1 freertos | |
r5fss1-0 freertos | |
r5fss1-1 freertos | |
a53ss0-0 nortos | |
a53ss0-0 freertos | |
a53ss0-0 freertos-smp | |
Toolchain | ti-arm-clang |
arm.gnu.aarch64-none | |
Board | am64x-evm, am64x-sk |
Example folder | examples/drivers/udma/udma_memcpy_interrupt |
Shown below is a sample output when the application is run,