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:双核 LED 示例代码不适用于 CPU2

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1457910/tms320f28379d-dual-core-led-example-code-not-working-for-cpu2

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

工具与软件:

您好!

我有我自己的采用 TMS320F28379D 的定制电路板。 我将使用示例代码"led_ex1_blinky_cpu1"和"led_ex1_blinky_cpu2"。 我尝试了使用 CPU1_RAM 加载"led_ex1_blinky_cpu1"代码、该代码会定期闪烁。 然后、我对 CPU2_RAM 尝试了"led_ex1_blinky_cpu2"代码、但没有效果。 您能告诉我问题出在哪里吗? 如果有任何与双核编程相关的文档、请提供其链接。 此外、如果我对 CPU1_FLASH 尝试"led_ex1_blinky_cpu1"、也会无法正常运行。 因此、请告诉我、如果我要在闪存中加载代码、需要更改哪些内容。

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

    您好!

    您是否已在此处提及: https://software-dl.ti.com/C2000/docs/C2000_Multicore_Development_User_Guide / index.html? 

    我们在此处还设有 C28x Academy IPC 实验: https://dev.ti.com/tirex/local?id=source_c2000_academy_labs_advanced_topics_c2000_lab_ipc&packageId=C28X-ACADEMY 

    以及 C2000Ware 双核示例:  {C2000Ware}\driverlib\f2837xd\examples\dual\ipc。

    如果您已经参考过这些资源、但仍有问题、请告诉我。

    此致、

    Allison

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

    您好!

    我使用的是相同的示例代码。 我的问题是、首先我使用 CPU1_RAM 加载 CPU1代码、它开始闪烁 LED1。 之后、如果使用 CPU2_RAM 加载 CPU2代码、则不起作用。 您能说明一下如何调试两个代码吗? 此外、如果我使用 CPU1_FLASH 加载代码、CPU1代码也不起作用。 您能告诉我为什么它可以使用 RAM、但不能使用闪存。

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

    尊敬的 Dhaval:

    您能否确认您使用的是哪个版本的 C2000Ware?  

    我能够导入这两个项目并验证示例是否正常工作。 我怀疑您的步骤顺序可能有问题。 可以详细说明如何将代码加载到目标中吗?

    以下是我的高级步骤(CPU_FLASH 构建配置):

    • 单独构建这两个工程
    • 对 CPU 1二进制文件进行编程(确保在编程时仅选择 CPU 1作为目标 CPU)
    • 完成后、在"Debug"窗口中选择 CPU2并连接到目标
    • Upco 连接、加载 led_blinky_cup2.out 图像
    • 加载映像并暂停目标后、点击"Run on CPU 2"
    • 点击"Run on CPU 1"
    • 此时、两个 LED 都应闪烁。

    请注意、我已针对 CPU1_FLASH 构建配置对其进行了测试。 包括独立构建配置。 对于该测试、需要进行器件复位以观察两个 LED 同步闪烁。

    此致、

    Ozino

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

    尊敬的 Ozino:

    我正在使用 C2000Ware_5_04_00_00。

    将双核功能保留在一边、并首先尝试仅解决 CPU1代码的问题。

    当我尝试 CPU1_RAM 配置时、一个 LED 开始闪烁。 然后我尝试使用 CPU1_FLASH 以及不独立运行的相同代码、但无法正常工作。 您能建议如何解决此问题吗?

    我还尝试了对硬件的研究、发现我已经连接了30 MHz 振荡器、允许的最大值为25 MHz。 这对它来说可能是个问题。 那么、您能否提供一些建议、如果我要使用片上振荡器、需要进行哪些更改? 如果这是个问题、它可能会在两种配置下使 CPU1_RAM 和 CPU1_FLASH 出现问题。

    此致、

    Dhaval

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

    尊敬的 Dhaval:

    是的、时钟设置会影响系统性能。 请仔细检查此设置是否正确。 请参阅工程中的 device.h 文件并确认第168行(#define SYSCTL_OSCSRC_XTAL)已定义、从而指定振荡器。 默认设置为20 MHz 外部振荡器。  如果使用不同的时钟配置、您还需要调整线路176 (#define DEVICE_SYSCLK_FREQ)。

    以下也是与您的问题类似的另一个论坛文章、其中讨论了如何调试双核示例。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/477510/debug-dual-core-ti-rtos-project-with-f28377d/1720284#1720284

    此致、

    Ozino

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

    尊敬的 Ozino:

    很抱歉这么晚才回复。 我订购了20MHz 振荡器、只收到几天就回来了。 因此更换了它并再次进行了检查。 现在问题已解决。

    感谢您的支持。

    此致、

    Dhaval

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

    尊敬的 Dhaval:

    太棒了! 感谢您的更新。  

    此致、

    Ozino