This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320C5505:DMA 被堆叠

Guru**** 2602075 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/647785/tms320c5505-dma-get-stacked-up

器件型号:TMS320C5505

尊敬的 TI 专家:

我的客户面临以下问题。
[问题]
当 CPU 更新 SARAM 数据并从 I2S 获取音频数据并通过 DMA 进行传输时、存储器上的 I2S 输出数据会出现意外数据。 当访问 SRAM 的时序重叠时、DMA 似乎没有传输/擦除 I2S 数据。

您是否见过这种现象? 请提供此问题的原因吗?
我的客户代码和环境如下所示。

[代码]
void foo (void){
int32_t * srcL = AD_DATA_SARAM_L0;
int32_t * srcR = AD_DATA_SARAM_R0;
int32_t * Dstl = AD_DATA_SARAM_L1;
int32_t * dstR = AD_DATA_SARAM_R1;
int i;

对于(i=0;i<256;++I){
* Dstl++=* srcL++;
*dstR++=*srcR++;

[环境]
硬件
客户设备
软件
DSP/BIOS:5.42.01.09
CSL:3.06
编译器版本:4.4.1
CCS 版本:7.3.0

[结果]

出现此问题时、已确认数据与之前的 I2S 数据相同。


此致。
Kaka

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将对此进行研究。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    感谢您的支持。
    我正在等待您的反馈。

    此致。
    Kaka
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    您是否对此主题有任何更新?
    此外、我还对这些主题进行了更新。 当客户像下面那样在" for loop"之间添加"nop"时、不会发生这种现象。
    对于(i=0;i<256;++I){
    * Dstl++=* srcL++;
    _nop();
    *dstR++=*srcR++;

    此致。
    Kaka
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kaka-San、

    您能否尝试使用 DARAM 而不是 SARAM。

    这可能是 CPU 和 DMA 之间同时访问的问题。

    Lali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Lali、

    感谢您的评论。
    我通知了客户、但他们已经填满了 DARAM 的内存。 因此、他们无法使用此变通办法。

    顺便说一下、当 CPU 和 DMA 之间同时访问时、您会告诉我访问的优先级顺序吗? 我的客户认为这是到达顺序。

    此致。
    Kaka
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kaka-San、

    请访问 e2e.ti.com/.../99406
    DMA 的优先级低于 CPU、程序加载的优先级甚至高于数据。

    希望这能澄清。

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Lali、

    感谢您的回答。 我明白了!!

    此致。
    Kaka