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.

[参考译文] CCS/TMS320F28377D:加载两个 CPU

Guru**** 2522770 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/711680/ccs-tms320f28377d-loading-both-cpus

器件型号:TMS320F28377D

工具/软件:Code Composer Studio

  你(们)好 我对微控制器比较陌生、我不知道同时调试/加载两个 CPU 的步骤是什么。 我已经阅读了 TI 数据表、许多论坛帖子以及其他网站信息、但我似乎无法将其全部整合在一起并加以解决。 最终目标是主要对 CPU1执行操作和测量、并通过 SPIA (CPU1中的 GPIO 16-19设置)将其发送到要从 CPU2显示的主器件。 我已经尝试了其他方法来完成这项任务,但在这一过程中,几乎没有取得多少进展。 我的微控制器将是从器件并接收非周期性 CS 信号。 我已经完成了很多其他 SPI 模块、并且可以使用中断使其在从模式下正常工作、但与我将用于输出可靠数据的其他操作相比、中断的优先级低。 我想我会尝试将 SPI 通信放在 CPU2上、因为它有自己的中断集、并且鉴于我将在这两个器件之间共享工作、我也可能能够更快地操作它。

      谢谢

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

    要了解有关双核加载/调试的更多信息、请参阅以下两个技术讲座。 在 F28379D 多日技术讲座中、请参阅模块11的实验练习:

    processors.wiki.ti.com/.../C2000_Multi-Day_Workshop

    在 F28379D 一日技术讲座中、请观看实验练习1:

    processors.wiki.ti.com/.../C2000_One-Day_Workshop

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

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

      谢谢您 Ken。 您指导我的信息非常有用。 但是、我现在遇到了一个新问题。 没有为 CPU2定义 GpioCtrlRegs、我不知道应该为此执行什么操作。 我想与两个 CPU 结合使用的两个代码片段都需要 GpioCtrlRegs。 (一个是 SPI、另一个 DAC/ePWM 信号)如果您能建议我应该做些什么来解决这个问题、我将不胜感激。 我知道我可能可以为 CPU2定义 GPIOCTRLREG、但我也知道、在我当前的技能水平下、我很难建立 GPIOCTRLREG。 我运行了两个 CPU 而没有发生任何事件、但现在我遇到了这个问题。 我已经完成了 blinky 教程和 DAC 教程、但没有看到 GpioCtrlRegs 的方法。 提前感谢您的任何帮助或建议。

            ~Chris

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

    F2837xD CPU1充当主器件、默认情况下(复位后)、CPU1负责所有配置和控制。 使用在 CPU1上运行的软件、可以将通用外设和 GPIO 配置为可由 CPU2访问(并且可以使用锁定寄存器锁定配置)。 CPU 选择由 CPU1使用 CPU 选择寄存器(CPUSELx)完成。 在多日技术讲座手册中、请参阅第5-5页(第91页)和第5-6页(第92页)上的幻灯片。

    此外、请注意、GPIO 内核选择寄存器(例如、GPACSELx)用于选择哪个主器件的 GPIODAT/置位/清零/切换寄存器控制 GPIO 引脚。 在《车间维修手册》中、请参阅第5-14页(第100页)的下幻灯片。 您可以在实验11 CPU1 GPIO.c 文件中找到使用此功能的示例。 在该文件底部的"选择引脚配置"部分中、您将注意到以下三个代码行:

    GpioCtrlRegs.GPACSEL4.bit.GPIO31 = 2; // GPIO31由 CPU2控制(在实验11中使用)
    GpioCtrlRegs.GPADIR.bit.GPIO31 = 1;// GPIO31是输出(用于实验11 -连接到 LED)
    GpioDataRegs.GPASET.bit.GPIO31 = 1;// GPIO31引脚设置为1 (用于实验11 -打开 LED)

    CPU1将此引脚配置为分配给 CPU2。 然后、在 CPU2 ISR 代码中切换引脚(连接到 LED)。 请注意、GPIO.c 仅存在于 CPU1工程中、但该引脚现在分配给 CPU2并由 CPU2进行控制。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken