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.

[参考译文] TMS320F28379D:DMA 和 CPU 对全局共享(GS) RAM 的访问行为

Guru**** 2538490 points
Other Parts Discussed in Thread: TMS320F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/614039/tms320f28379d-dma-and-cpu-access-behavior-to-global-shared-gs-ram

器件型号:TMS320F28379D

我想澄清一下 TMS320F28379D 器件在 CPU 和 DMA 引擎访问全局共享(GS) RAM 时的行为。

《技术参考手册》第4.4节指出、CPU 访问将在 DMA 完成对同一存储器接口的访问之前停止。  具体而言,标题是:

"如果一个块 DMA 传输到 CPU 正尝试访问的同一存储器接口、仲裁将在 DMA 完成访问之前暂停 CPU 访问、而不是整个传输。"

我想澄清一下、如果 CPU 和 DMA 都在访问  GS RAM 空间内的任何内存段、CPU 访问是否会停止?  或者、是否有更多的粒度、以便仅当 CPU 和 DMA 都访问 相同的存储器段(例如 GS1)时才会发生停止?

谢谢你。

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

    您好、Brandon、

    [引用]我想澄清、如果 CPU 和 DMA 都在访问 GS RAM 空间内的任何内存段、这意味着 CPU 访问将停止?  或者、是否有更多的粒度、以便仅当 CPU 和 DMA 都访问 相同的存储器段(例如 GS1)时才会发生停止? [/报价]

    仅当 CPU 和 DMA 都访问相同的内存段/块时才会发生失速。 DMA 和 CPU 可以同时访问两个不同的 GSx RAM 块、而不会出现任何停顿。

    此致、

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Vivek。 我感谢这一澄清。 这是我曾经想过的、但我不想假设任何东西。

    我想正式建议,如果对《技术参考手册》的机会进行修订,那么在文件中提供这一澄清将是有益的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供 Brandon 的反馈。 我们已注意到这一点、并将尝试在下一次修订文档时更新详细信息、以澄清这一点。

    此致、
    Vivek Singh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、有关共享 RAM 访问仲裁的更多详细信息、请参阅 TRM 的"2.11.1.6访问仲裁"部分(在"存储器控制器模块"章节中)。

    Vivek Singh