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:CPU2 .text 至 GSxRAM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/705269/tms320f28379d-cpu2-text-to-gsxram

器件型号:TMS320F28379D

大家好、

我希望 CPU2应用在 F28379D 的 GSxRAM 上运行。 因此,我修改了 RAM.cmd 文件并将.text 放置在 GSxRAM 中。 但是、当我尝试使用 JTAG 加载程序时、它不起作用。 这是因为、首先我必须使用 GSxMSEL 寄存器将 GSxRAM 分配给 CPU2。 该过程应由 CPU1完成。 如果我将.text 移动到 CPU2的 LSxRAM 而不是 GSxRAM、一切都正常。 但是、我的.text 大小将比 CPU2的所有 LSxRAM 大得多、我还需要使用 GSxRAM。

我的问题是、我们是否可以通过任何其他方法将 GSxRAM 分配给 CPU2、以便无需为分配加载程序到 CPU1?

此致、

哈坎

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

    您好、Hakan、

    如果不想运行 CPU1应用程序、则可以修改 CPU1 GEL 文件(右键单击 CPU1目标并打开 GEL 文件)并在 OnReset()或 OnConnect()函数中添加代码以将 GSxRAM 分配给 CPU2。 只要您在 CCS 中连接到 CPU1、这将起作用。 但在独立模式下、必须 具有 CPU1代码才能将 GSxRAM 分配给 CPU2、并且只有在运行后才能运行 CPU1代码。  

    此致、

    Vivek Singh  

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

    您好、Vivek、

    感谢您的回复。 您能给我一个关于如何使用 GEL 文件将 GSxRAM 分配给 CPU2的源文件(示例代码等)吗? 我不知道吗?

    此致、

    哈坎

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

    很抱歉耽误你的回答。 请参阅以下链接、了解如何编辑 GEL 文件。

    processors.wiki.ti.com/.../GEL

    如果您有任何疑问、请告诉我。

    此致、

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

    感谢你的答复。 实际上、在这段时间内、我已经融合到了另一个解决方案。 我修改了 CPU2的 CodeStartBranch.asm、使其等待特定 IPC 标志以跳转 c_init。 将 GSxRAM 分配给 CPU2后、CPU1会设置此标志。 虽然这不是我在这个线程开始时提出的答案、但是这个解决方案也解决了 CPU 同步的问题。

    哈坎