主题: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 上时、此操作有效。
谢谢。