Hi Experts,
I have tested the udma_memcpy_test application developed by TI(psdkqa/qnx/examples/udma/udma_memcpy_test_qnx), and found out that it does not work also. The program just hangs and looks like the following thread,
The following is the output of the program,
J7EVM@QNX:/# udma_memcpy_testapp -v
Using 'ram' for allocating memory
main: Opened typed memory 'ram' fd/3
main: posix_tmi_length/1962934272 posix_tmi_total/4294967296
App_alloc: Alloc successful; Virt: 0x1569248000, Phy: 0x8fc565000 Contig_len: 1024
App_alloc: Alloc successful; Virt: 0x1569249000, Phy: 0x8fc566000 Contig_len: 1024
App_alloc: Alloc successful; Virt: 0x156924a000, Phy: 0x8fc567000 Contig_len: 2704
App_alloc: Alloc successful; Virt: 0x156924b000, Phy: 0x8fc568000 Contig_len: 800
App_alloc: Alloc successful; Virt: 0x156924c000, Phy: 0x8fc569000 Contig_len: 192
App_alloc: Alloc successful; Virt: 0x156924d000, Phy: 0x8fc56a000 Contig_len: 192
App_alloc: Alloc successful; Virt: 0x156924e000, Phy: 0x8fc56b000 Contig_len: 128
App_alloc: Alloc successful; Virt: 0x156924f000, Phy: 0x8fc56c000 Contig_len: 128
App_alloc: Alloc successful; Virt: 0x1569250000, Phy: 0x8fc56d000 Contig_len: 128
App_alloc: Alloc successful; Virt: 0x1569251000, Phy: 0x8fc56e000 Contig_len: 256
Udma_qnxVirtToPhyFxn: virt/156924e000 phy/0x8fc56b000
Udma_qnxVirtToPhyFxn: virt/156924e000 phy/0x8fc56b000
Udma_qnxVirtToPhyFxn: virt/156924f000 phy/0x8fc56c000
Udma_qnxVirtToPhyFxn: virt/156924f000 phy/0x8fc56c000
Udma_qnxVirtToPhyFxn: virt/1569250000 phy/0x8fc56d000
Udma_qnxVirtToPhyFxn: virt/1569250000 phy/0x8fc56d000
App_memcpyTest: Setting Src/0x1569248000 and Dest/0x1569249000 to 0
Udma_qnxVirtToPhyFxn: virt/1569248000 phy/0x8fc565000
Udma_qnxVirtToPhyFxn: virt/1569249000 phy/0x8fc566000
udma_dump_bufs: printing 10 bytes of 1000 byte transfer
Source Buffer virtual=0x1569248000(phys=0x8fc565000):
src[0] = 0x00
src[1] = 0x01
src[2] = 0x02
src[3] = 0x03
src[4] = 0x04
src[5] = 0x05
src[6] = 0x06
src[7] = 0x07
src[8] = 0x08
src[9] = 0x09
Destination Buffer virtual=0x1569249000(phys=0x8fc566000):
dst[0] = 0x00
dst[1] = 0x00
dst[2] = 0x00
dst[3] = 0x00
dst[4] = 0x00
dst[5] = 0x00
dst[6] = 0x00
dst[7] = 0x00
dst[8] = 0x00
dst[9] = 0x00
Udma_qnxVirtToPhyFxn: virt/1569248000 phy/0x8fc565000
Udma_qnxVirtToPhyFxn: virt/1569249000 phy/0x8fc566000
App_udmaMemcpy: TR Packet descriptor updated
Udma_qnxVirtToPhyFxn: virt/1569251000 phy/0x8fc56e000
App_udmaMemcpy: TRPD submitted to channel
App_udmaMemcpy: Waiting on semaphore for return descriptor in completion ring
****** THEN, IT HANGS HERE for waiting the completion event! ******
Please help to fix this issue.
Thanks,
Best Regards,
Jianqiang