环境CCS4.20 / BIOS5.40
L138 DSP核配合TI的 LMX2571来实现调制,调制基带数据来源是RAM核,DSP进行编码滤波后通过McBSP送给LMX2571。在使用McBSP时遇到一个问题,配置McBSP发送,使能发送DMA,Buffer大小11520字节。
一开始将Buffer放在内部RAM,整体环境工作正常。但我把Buffer通过#pragma DATA_SECTION放在外部mDDR时,就不能正常工作了。
当时开启了32K L1P 、32K L1D CACHE ,未开启L2 CAHCE,256K均用做RAM,外部mDDR一开始没有放东西。是否是cache的一致性问题呢。我尝试在buffer 进行copy后DMA搬运前调用了BCACHE_wb(&TX_BUFFER[0],115200,1),但没有效果。 是否有什么没有注意到的地方呢
几个疑问:
1.L2不使能CACHE时 L1的CACHE是否对mDDR有效(看到手册上说有),如果有效是否也会存在一致性问题。
2.BCACHE_wb这个函数我看到仅C64X+可用,不知道C674X是否支持,这和DSP型号有关还是BIOS版本有关,如何找到具体BIOS版本对应的手册?
3.上面的BCACHE_wb函数和CACHE_WBL2函数有什么区别,编译器无法识别后者(见C647X Cache Use 指南)。
3.mDDR在L138手册上地址是0xC0000000,对应MAR_192,是否在使用L2 cache情况下才需要去配置,L1时需要配置吗(手册上说L1D 需要,L1P不需要)?
问题有些多,接触DSP大概2个月时间了,发现越学谜团越多啊,谢谢指导!