I'm using the OMAP-L138 eXperimenter Kit from Logic PD. I am using the example under the "edma3_lld_01_10_00_01" packages as my starting point for setting up and using the edma3 driver in my project.
The example I'm looking at is the edma3_test() under dma_test.c. It was setup to dma transfer buffers of 8-bit elements.
extern signed char _srcBuff1[MAX_BUFFER_SIZE];
extern signed char _dstBuff1[MAX_BUFFER_SIZE];
I'm interested in doing 16-bit transfers's instead of 8-bit. However, if I increase the buffers to signed short, I start having issues. The dma transfer is incomplete when it gets copied to the destination address (only half of the values copied), see src and dest memory results below from one of my runs. Is there a way to modify this example to do 16 or 32 bit transfers?
Ex: With a PARAM set of ACNT=16, BCNT=1, CCNT=1, DSTBIDX=16, SRCBIDX=16
Assigning _srcBuff = 0:15
0xC4000000 _srcBuff1
0xC4000000 0x00010000
0xC4000004 0x00030002
0xC4000008 0x00050004
0xC400000C 0x00070006
0xC4000010 0x00090008
0xC4000014 0x000B000A
0xC4000018 0x000D000C
0xC400001C 0x000F000E
0xC4020000 _dstBuff1
0xC4020000 0x00010000
0xC4020004 0x00030002
0xC4020008 0x00050004
0xC402000C 0x00070006
0xC4020010 0x00000000
0xC4020014 0x00000000
0xC4020018 0x00000000
0xC402001C 0x00000000