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:CCS 20 -未为 CPU2指定通用 RAM 段

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1463792/tms320f28379d-ccs-20---common-ram-sections-are-not-specified-for-cpu2

器件型号:TMS320F28379D
Thread 中讨论的其他器件:C2000WARE

工具/软件:CCS 20.

您好!

我对双核 MCU 进行编程、并且在将变量放入公共 RAM 存储器时遇到了一个问题。 在本示例中、我使用其中一个 RAMGSx 扇区:

//这会转至包含在 CPU1和 CPU2工程中的.c 文件(常用函数)
#pragma DATA_SECTION (myCommonVariable"ramgs6");
//这将转至我的附加.cmd 文件
部分中)
  ramgs6.      :> RAMGS6,  页面= 1.
}
问题是对于 CPU2、未指定 RAMGSx、因此我无法在.cmd 中添加扇区、因为这是针对 CPU1完成的;然后、我在构建 CPU2工程时收到相应的警告(未指定 ramgs6)。  
结果是 CPU1上的 myCommonVariable 与 CPU2上的 myCommonVariable (不同的地址)不同。
我想在两个内核之间共享一个变量、我该如何处理这种情况?
至少使用 RAMGSx 应该可行、因为它是公共存储器空间、但似乎没有由 c2000ware 正确处理? 我想避免使用确切的内存地址、也不想通过 c2000ware 修改原始的.cmd。
此致、
Kamil
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="638972" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1463792/tms320f28379d-ccs-20---common-ram-sections-are-not-specified-for-cpu2 ]]问题是对于 CPU2来说、没有指定 RAMGSx、所以我无法在.cmd 中添加扇区、因为是为 CPU1做的;然后我在构建 CPU2项目时收到相应的警告(未指定 ramgs6)。  [报价]

    为什么您不能 在 CPU2上定义相同的 RAMGSx RAM ?

    Vivek Singh

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

    您好!  

    感谢您的回答。

    当然我可以自己添加地址、但正如我前面所说、我想避免使用该地址、因为我认为 MCU 的这种基本部分、例如自己的 RAM 存储器空间、应该由 TI 库进行管理。

    因此我真正关心的问题是-我是否错过了一些东西/不正确地使用 c2000ware? 或者手工指定存储器扇区是实现它的唯一正确方法吗?

    此致、Kamil

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

    很抱歉这么晚才回复。 我认为需要用户手动证明。  

    Vivek Singh