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.

[参考译文] TMS320F28388D:在 CPU1设置 GSRAM-Rights 之前、暂停运行 RAM 项目中的 CPU2

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/986992/tms320f28388d-suspend-running-of-cpu2-in-a-ram-project-until-cpu1-setup-gsram-rights

器件型号:TMS320F28388D

大家好、

我们过度使用 CPU 的 CLA。 我们现在需要 CLA-Data 和 CLA-Program 的完整 LSRAM。
这就是为什么我们需要将正常的程序代码映射到 GSRAM 中的原因。

CPU1使用 GSRAM0-7和 CPU2 GSRAM8-15。 我相应地设置了 Linker-Command-File。 我使用的是启动配置、它会将 CPU1/CLA-Project 和 CPU2/CLA-Project 加载到 TMS320F28388D 上。 如果我根本不使用闪存存储器、CPU2应用程序现在从一开始就映射到 GSRAM8-15。

现在我遇到了启动配置启动两个 CPU 的问题。 CPU1必须允许 CPU2访问 GSRAM、但 CPU2在发生这种情况之前正在运行、因此我必须在加载程序后始终重新启动 CPU2。

据我所知、CPU1必须为 CPU2选择引导模式并使 CPU2退出复位状态(请参阅 TI 的"device.c"文件中的 Device_bootCPU2函数)。 但我认为、通过 CCS 加载 CPU2-application 时会绕过这一步。

在 CPU1设置 GSRAM-Rights 之前、如何暂停 CPU2运行?

谢谢、此致、

Marcel。

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

    尊敬的 Marcel:

    [引用 userid="331644" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/986992/tms320f28388d-suspend-running-of-cpu2-in-a-ram-project-until-cpu1-setup-gsram-rights ]据我所知、CPU1必须为 CPU2选择引导模式并使 CPU2脱离复位状态(请参阅 TI "device.c"文件中的 Device_bootCPU2函数)。 但我认为、通过 CCS 加载 CPU2-application 时会绕过此过程。

    没错。 当您使用 CCS 加载代码时、CCS 将强制 PC 进入入口点并从此处开始运行。 您可以通过多种方法来解决此问题。  

    1) 1)将初始代码映射到专用的 D0/D1 RAM 中、并在此代码中具有与 CPU1的 IPC 握手代码、以确保在启动在 GSx RAM 中分配的代码之前完成 GSx RAM 配置。

    2) 2) CCS 还可以选择禁用运行到主程序(默认情况下、它是启用的)、以便 CPU2不会在加载后开始运行。 只有在 CCS 中单击"Run"图标后、它才会运行。

    我建议使用选项1、当您使用闪存和 CCS 运行应用程序时、该选项将非常有用。

    此致、

    Vivek Singh