UDMA Memcpy Interrupt
Introduction
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 completes, it does cache operation for data coherency and compares the source and destination buffers for any data mismatch.
Supported Combinations
Parameter |
Value |
|---|---|
CPU + OS |
wkup-r5fss0-0 freertos |
Toolchain |
ti-arm-clang |
Board |
am62px-sk |
Example folder |
examples/drivers/udma/udma_chaining |
Steps to Run the Example
When using CCS projects to build, import the CCS project for the required combination and build it using the CCS project menu (see Using SDK with CCS Projects).
When using makefiles to build, note the required combination and build using make command (see Using SDK with Makefiles)
Launch a CCS debug session and run the executable, see CCS Launch, Load and Run
Attention
As the wake-up R5 is the device manager, it needs to be started by the SBL. So it can not be loaded through CCS. It should be flashed and booted through SBL.
Refer Flash a Hello World example for flashing the application.
See Also
Sample Output
Shown below is a sample output when the application is run,
[UDMA] Memcpy application started ...
All tests have passed!!