Part Number: EVMK2H
Other Parts Discussed in Thread: TCI6636K2H
Tool/software: TI-RTOS
I am using edma3 driver example edma3_drv_bios6_tci6636k2h_st_sample. I changed source and destination buffers type from 'signed char' to 'float'. The buffer pointers are also changed to float.
//data buffers, with sin(x) in source buffer float _srcBuff[NUM_BUFFERS][MAX_BUFFER_SIZE]; float _dstBuff[NUM_BUFFERS][MAX_BUFFER_SIZE]; //pointers float *srcBuff[NUM_BUFFERS]; float *dstBuff[NUM_BUFFERS];
When passing these buffers to DMA PaRAMs I type cast them to uint32_t
result |= EDMA3_DRV_setSrcParams(hEdma, chId[i], (uint32_t) (srcBuff[i]), EDMA3_DRV_ADDR_MODE_INCR, EDMA3_DRV_W8BIT); result |= EDMA3_DRV_setDestParams(hEdma, chId[i],(uint32_t) (dstBuff[i]), EDMA3_DRV_ADDR_MODE_INCR, EDMA3_DRV_W8BIT);
but DMA does not transfer the data and return with EDMA3_RM_XFER_COMPLET code.
Does EDMA strictly work with 'signed char' due to addressing the memory?