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:双核调试会话启动问题

Guru**** 2609285 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057684/tms320f28379d-dual-core-debug-session-boot-issue

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

您好!

我正在尝试调试 CPU1和 CPU2、并已配置调试会话、以将 CPU1和 CPU2与其对应的.out 文件加载到其中。 我面临的问题是 CPU1正在等待 CPU2启动(在 CPU1完成其自身和 CPU2所有外设的初始化之后使用 IPC 来初始化 CPU2)。 我发现 CPU1正在等待 CPU2、即使 CPU2已完成引导并确认 IPC 已收到 CPU1请求的引导。

我正在尝试模仿 CPU1中 CPU2的引导序列、如 C2000Ware 软件包中 GPIO 切换和 LED 闪烁(CPU1和 CPU2)示例项目中所示。 我很清楚、两个内核都在没有调试会话(自由运行)的情况下成功启动、因为我将单独的 LED 连接到每个内核以进行闪烁。

我要确认的另一点是 CPU1和 CPU2不共享计时器模块、对不对? 如果为 true、则表示从 CPU2本身初始化 CPU2的计时器时遇到问题。 我是否也需要从 CPU1初始化它(我想不需要、CPU2负责其自己的计时器模块)。

谢谢、此致、
Sumit Panse

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

    您好、Sumit、

    您是否使用 IPCBootCPU2函数 来引导 CPU2?

    请注意、连接调试器时、此函数将卡住。 这是因为、在调试模式下、CCS 负责引导 CPU2。

    如果您是独立运行、请使用此函数。 在这些示例中、您可能会注意到、只有 定义了_standalone 宏时才会调用 HIS 函数。

    每个 CPU 子系统中都有单独的 CPU 计时器实例。 它们由各自的 CPU 单独配置。 在 CPU2子系统中、CPU2必须初始化计时器时钟(CpuSysRegs.PCLKCR0.bit.CPUTIME0)和其他计时器模块寄存器。

    此致、

    Veena

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

    您好、Veena、

    是的、我使用函数`IPCBootCPU2`来引导 CPU2。 您能不能建议 任何我可以用来调试的替代方案?

    好的、我了解了每个 CPU 子系统的 CPU 计时器实例说明。 我唯一关心的是`IPCBootCPU2`函数的替代方案。

    此致、
    Sumit Panse

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

    您好、Sumit、

    调试时、您可以跳过该函数、因为调试器会处理 CPU2引导。

    #ifdef _standalone
    IPCBootCPU2();
    #endif

    仅为 独立 执行添加预定义符号_standalone。

    此致、

    Veena