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.

[参考译文] AM623:禁用 MCU (M4) 以使用主域的 MCU_UART0 端口—影响和注意事项

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1551569/am623-disabling-mcu-m4-to-use-mcu_uart0-port-from-main-domain-impact-and-considerations

器件型号:AM623
主题:SysConfig 中讨论的其他器件

工具/软件:

您好 AM62x Champ!

我们希望在外部使用 MCU_UART0 端口(引脚 B5 和 B4)。 目前、这些引脚连接到 ttyS7。 在启动过程中、我们会看到通过此端口打印的自动消息。

当我们尝试使用以下命令将数据发送到此端口时:

# stty -F /dev/ttyS7 115200 cs8 -cstopb -parenb -echo
# echo -n “From_CAM62\r\n">“>/dev/ttyS7

数据传输不正确。

经过调查、我们发现 UART 被 M4 内核上运行的 MCU 固件占用、因此在 MCU 处于活动状态时通信失败。 当我们通过以下方式停止 M4 MCU 过程时:

Echo stop >/sys/class/remoteproc/remoteproc0/state

ttyS7 上的通信工作正常。

由此看来、似乎只有 M4 内核 (remoteproc0) 正在使用 MCU 资源。

我们的问题是:

  1. 如果我们停止远程处理 0 (M4) 以在外部使用该 UART、是否会对 MCU 固件管理的其他 MCU 外设(例如 GPIO、I2C 等)产生任何副作用?

  2. 我们尚未修改默认基本映像中的 MCU 固件。 在这种情况下、禁用 MCU(M4 内核)并在外部使用 UART 而不会导致系统问题是否安全?

  3. 如果可以接受以这种方式使用 UART、我们能否永久禁用 M4 工艺 (remoteproc0) 以释放 UART 供我们使用?

关于禁用 MCU M4 内核对外设功能的影响、以及在 AM6232 系列外部安全使用 MCU_UART0 的最佳实践、我们将不胜感激。

此致、  

插孔

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

    你好、Jack、

    外设分配

    AM62x 上的每个外设都设计为拥有一个软件所有者。 因此、Linux 可以使用 UART 实例、或者 M4F 可以使用 UART 实例、但两个处理器无法使用相同的 UART 实例。 有关外设分配的更多信息、请参阅 AM62x Academy:
    多核>外设>如何分配外设
    https://dev.ti.com/tirex/explore/node?node=A__Ab9v-ikRLJrpmmd7B-xvUw__AM62-ACADEMY__uiYMDcq__LATEST

    一个电源域中的处理器内核能否控制另一个电源域中的外设?  

    视情况而定。

    1) MCU 域是否已隔离以用于安全或其他用例?

    如果 MAIN 域和 MCU 域之间存在防火墙、则内核无法跨越防火墙来控制另一侧的外设。

    2) 外设与处理器内核之间是否存在中断连接?

    有关中断连接的摘要、请参阅 AM62x 技术参考手册 (TRM) 一节  
    Interrupts > Interrupt Architecture > Interrupt Connections Summary

    您可以看到 GIC(用于 A53 内核)和 UART:MCU 域之间存在中断连接。 因此、您应该可以开始了。

    如果在 M4F 的 SysConfig 设置中禁用 MCU_UART、MCU 域 M4F 固件是否可以正常运行?  

    固件运行不需要 MCU_UART。 您需要与 RTOS 团队交谈、以了解他们为 M4F 编程哪些代码(如果您在设计中对 M4F 进行编程)。

    您可能需要考虑的一些问题包括“我们将如何在开发过程中调试 M4F 固件“。 有关如何执行此类操作的更多资源、请参阅 AM62x Academy:
    多核>远程内核上的应用开发
    https://dev.ti.com/tirex/explore/node?node=A__ATWfO3c7FkPk06K9x1nvpA__AM62-ACADEMY__uiYMDcq__LATEST

    此致、

    Nick

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

    可以尽可能减小 EMI

    我建议在 Linux 器件树文件中禁用内核。 这会阻止 Linux 将固件加载到 M4F 中、然后 M4F 不会使用系统资源。 这样、您也可以释放当前为 MCU M4F 内核预留的 DDR 分配。

    有关更多信息、请参阅 AM62x Academy:
    多核>引导和禁用处理器内核>禁用远程内核的方法
    https://dev.ti.com/tirex/explore/node?node=A__AYOA.KT56sP6jW8Ke3ucPQ__AM62-ACADEMY__uiYMDcq__LATEST

    此致、

    Nick