TMS320F28377D: 28377D的DMA问题,

Part Number: TMS320F28377D


尊敬的TI工程师们:

        你们好!

        最近,我在使用28377D的DMA功能时,遇到了一个问题,我的芯片外扩了16bit的sram,挂载在cs3上,现在我想把cla中的计算的变量(大概10个float型)利用dma功能实时存储到外部的sram中,采样周期为20kHz。我将10个float型变量写成结构体数据包,放在在gs ram中,构建了结构体大数组(相关代码见附件),映射在外部的cs3中。现在遇到的问题有:

         1:首先,在配置dma中,在debug时,发现数据错位,例如我将Wang_ClatoCpu.DataPack.LogVpn(数组在gs ram中,dma无法访问ls ram) 赋值为1.123,但是在Wang_ExtRamBuf中,却是Log_iL_C为1.123,且后续位置会变。但是我进行单步调试时,却没有这个问题。

         2:其次,我做此工作的目的是想看cla内部的变量在上电过程中的时候,数值是否符合我的预期,除了上述的方法,是否还有其他较为成熟的方案。
         希望得到你们的建议!
                                                                                                                                                         祝好!

c21a4e02af654c9f18d40a21ce316640.png

e11e5981ca409e50f35f624ffc301568.pngWang_Emif.c Wang_DMA.c Wang_DMA.h Wang_Emif.h