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 中的 SCIB

Guru**** 2413830 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1541402/tms320f28379d-trouble-using-scib-from-cpu2

部件号:TMS320F28379D
主题:SysConfig 中讨论的其他器件

工具/软件:

我尝试在 LaunchPad-F28379D 上使用 CPU2 中的 SCIB、因此遇到问题。 以下是我所做的:

  • 创建了一个修改后的 sci 示例、该示例本质上是 sci_ex2_loopback_interrupts 和 sci_ex3_echoback 的合并、因此该示例使用中断进行回显。 这个代码已加载到 CPU1 上、所有内容似乎都正常工作。
  • 运行两个示例、例如:
    • Sci_ex2_sysconfig_cpu1/sci_ex2_sysconfig_CPU2(修改为在 LaunchPad 上使用 SCIB(不工作)
    • ipc_ex4_msgqueue_sysconfig_c28x1/2 普通包(正常工作,但不存在 SCIB、只是普通 IPC)
    • ipc_ex4_msgqueue_sysconfig_c28x1/2 进行了修改、以包含 sci 回显代码(不工作)

普通 ipc_ex4_msgqueue_sysconfig 示例在 两个 CPU 上运行并通过 IPC 交换消息。 因此、双核有一些成功之处。

当尝试使用 SCI 代码执行双核时、SCIB 的寄存器似乎无法从 CPU2 写入。 具体而言、SCI_enableModule() for SCIB 根本不会更改 SCICTL1 寄存器。 该值保持为 0。 我已经单步执行了代码、没有任何更改。 在 CPU1 上运行时单步执行代码确实会按预期更改寄存器。

CPU1 似乎正确设置了引脚多路复用寄存器、并在 CPU2 尝试初始化 SCIB 之前执行此操作。 CPU1 在 CPU 同步之前设置引脚多路复用寄存器、CPU2 在同步后初始化 SCIB。

还有其他事情应该做吗? 预计在存储器视图中看到 SCIB 寄存器 (0x7210) 发生变化是否合理? 当它位于 CPU1 上时、此操作有效。

谢谢。