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.

[参考译文] TMS320F2.8375万D:两个CPU的消息RAM变量位置

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/572740/tms320f28375d-message-ram-variable-location-for-both-cpus

部件号:TMS320F2.8375万D

使用IPC和专用消息ram时,是否有任何特定的过程用于对齐消息ram中声明的变量,以便它们在两个CPU中保持不变?

如果我将CPU2中的两个变量声明为CPU1消息ram,则CPU2也会写入...说:

类型1变量1

类型2变量2

然后在CPU1代码中,如果我声明相同:

类型1变量1

类型2变量2

在CPU2至CPU1的同一条消息RAM中,我看到订单没有提示。  

问题是,您是否设计了一种方法来对齐消息ram中的变量,这样,当CPU1出来抓取var2时,它正在查看CPU2写入的相同内存...

我如何实现这一点的一个例子是:将每个变量分配到一个命名部分,然后使用链接器将每个变量专门放置在内存中...但这是一个非常手动的过程,让我有点像内存管理器, 我想保持它的自动化和同步...所以问题是您提供/建议哪些方法来将变量放入共享消息RAM, 如果对一个项目进行了更改,让另一个CPU知道这两个项目之间保持同步的位置。

谢谢。

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

    Rob,您好!

    [引述]我如何实现这一点的一个例子是:将每个变量分配到一个命名的部分,然后使用链接器将每个变量专门放置在内存中...但这是一个非常手动的过程,让我有点像内存管理器, 我希望保持自动化和同步[/QUOT]

    在我看来,#pragma是确保变量在两个CPU上的相同地址位置分配的唯一方法。

    此致,

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您对此有任何疑问,请告诉我。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我本来希望能有一些更雄辩的东西,但这确实奏效了。 8)