Part Number: PROCESSOR-SDK-DRA8X-TDA4X
Hi,
PSDK V6.2,
Ubuntu 18.04
I am using appUdmaCopy2D() UDMA for copying 2D block inside one of my DSP kernel, this function is implemented in {psdk_rtos_auto_j7_06_02_00_21}/vision_apps/utils/udma/src/app_udma.c. I took the reference of memcpyC662d() function, defined in {psdk_rtos_auto_j7_06_02_00_21}/vision_apps/kernels/img_proc/c66/vx_image_preprocessing_target.c.
2D block details:
- Destination block is declared in DSP's internal L2 memory.
- Source block is from External DDR.
Error:
Solution tried :
Changed destination block's location from internal L2 to External DDR memory, It worked without any error.
Observations :
- Both source and destination block should be in External DDR only if we want use UDMA for data transfer.
- appUdmaCopy2D() is a blocking call, we can not use it for parallel operation.
- appUdmaCopy2D() can not be used to implement ping pong style UDMA usage.
Queries :
- How to use UDMA for ping pong style data transfer?
- How to use BAM frame work to make UDMA's parallel execution?
- Is there any function fo non-blocking function for UDMA data trnasfer?
