TI中文支持网
TI专业的中文技术问题搜集分享网站

L138 DSP使用外部DDR

环境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个月时间了,发现越学谜团越多啊,谢谢指导!

Denny%20Yang99373:

1,L1也需要对CACHE进行维护

2,建议之间看C674X DSP MEGA MODULE文档,里面有CACHE寄存器相关介绍。

3,看看源码或者汇编吧。

4,MAR对L2和L1D起作用

Tony Tang:

 你用了BIOS,Cache的操作函数请参考bios安装目录下的doc下的spru403s的BCACHE部分,你看的那个文档里一直沿用的以前的CSL提供的API,没有更新。

C674x的L1与L2是自动同步的。

tthe3.mDDR在L138手册上地址是0xC0000000,对应MAR_192,是否在使用L2 cache情况下才需要去配置,L1时需要配置吗(手册上说L1D 需要,L1P不需要)?

如果你没有配置MARn,那么你的问题则不会是Cache的问题。

赞(0)
未经允许不得转载:TI中文支持网 » L138 DSP使用外部DDR
分享到: 更多 (0)