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.

[参考译文] CCS/TMS320F28377D:如何获取由不同 CPU 工程分配的可变存储器地址信息?

Guru**** 2535750 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/613084/ccs-tms320f28377d-how-to-get-the-variable-memory-address-information-assigned-by-a-different-cpu-project

器件型号:TMS320F28377D

工具/软件:Code Composer Studio

我使用 F28377D 进行运动控制。

CPU1执行控制循环、CPU2执行内务处理和通信。  GSRAM 中有 CPU 之间共享的参数和变量 。

我的问题是:当 CPU1工程分配存储器位置时、如何  从 CPU2工程获取/使用 CPU1分配的存储器地址?  

谢谢!

Lily。

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

    有两种方法可以实现这一目的。

    1) 1)使用 #pragma 在两个 CPU 上的同一地址分配变量或参数。
    2) 2)通过 IPC 方法共享变量/参数的地址(在运行时)、以便其他 CPU 可以访问它们。

    此致、

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

    我使用的是方法1、它起作用了。 但我希望不必在两个 CPU 上分配内存、不知怎么、我可以从另一个 CPU 访问分配的内存地址。

    我不熟悉方法2。 请提供更多详细信息或参考资料吗?

    再次感谢您的快速响应!

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

    在 IInd 方法中、您基本上通过 IPC (处理器间通信)方法将变量地址发送到其他 CPU。 CPU1和 CPU2上有 IPC 寄存器、可通过该寄存器在两个 CPU 之间交换消息/信息。 有关 IPC 的更多详细信息、请参阅器件 TRM。

    此致、

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

    感谢您的回复!

    您会推荐哪种方法? 由于我知道如何使用第1种方法、因此我应该使用第2种方法是否有任何优势?

    此致、

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

    我建议继续使用您当前使用的方法。

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

    太棒了! 非常感谢!

    此致、

    Lily。