器件型号:EVMK2H
工具/软件:TI-RTOS
我使用的是 EDMA3驱动器示例 EDMA3_drv_bios6_tci6636k2h_st_sample。 我将源和目标缓冲区类型从"已调整字符"更改为"浮点"。 缓冲器指针也会更改为浮点。
//数据缓冲区,源缓冲区中有 sin (x) float _srcBuff[NUM_buffers][MAX_buffer_size]; float _dstBuff[NUM_buffers][MAX_buffer_size]; //指针 float * srcBuff[NUM_buffers]; float * dstBuff[NUM_buffers];
当将这些缓冲区传递给 DMA 参数时、我键入将它们强制转换为 uint32_t
结果|= EDMA3_DRV_setSrcParams (hEdma、Chid[i]、(uint32_t)(srcBuff[i])、 EDMA3_DRV_ADDR_MODE_INCR、EDMA3_DRV_W8BIT); 结果|= EDMA3_DRV_setDestParams (hEdma、Chid[i]、(uint32_t)(dstBuff[i])、 EDMA3_DRV_ADDR_MODE_INCR、EDMA3_DRV_W8BIT);
但 DMA 不会传输数据并使用 EDMA3_RM_Xfer_complet 代码返回。
由于存储器寻址、EDMA 是否严格地与"已排列字符"搭配使用?