Other Parts Discussed in Thread: AM6422, AM6421
器件型号: AM6422
主题: AM6421 中讨论的其他器件
您好团队:
我们已经开发了一款基于 AM6421/22 的处理器的产品。 我们有两个定制设计的电路板/版本。 一个 BAORD 有单核 AM6421、其他版本有双核 AM6422。 我们已经在板上部署了基于 Yocto 的定制映像。 此外、我们还优化了启动时间以满足量产要求(引导到应用程序的时间< 40 秒)。
我们的主要问题与重新启动(无下电上电)有关、当我们持续执行该操作时、基于 AM6421 的电路板会在大约 2500 次重新启动循环后在重新启动期间卡住。
最初、重新引导卡滞频率约为 200-300 次重新引导循环。 在线搜索和检查、最初我们发现 USB(作为 CDC_NCM 器件)和 eMMC 几乎同时被初始化、这产生了一些竞态条件、Linux 内核甚至在跳转到用户空间和启动 systemd 之前就卡在那里。 作为修复、我们已禁用 Linux 内核中的 USB 和 CDC_MCM 支持。 在此之后,重启成功了大约 2500 个周期,之后它被卡住在用户空间等待/dev/ttyS2 在 systemd 中。
为了排除任何硬件和软件相关问题、我们在 AM6421-EVM 上的 ti image 做了同样的事情。 我们观察到类似的情况、我们可以在 EVM 上重现、并且在大约 3500 个重启周期后、它会一直滞留在 systemd 中的/dev/ttyS2 中。
我们在 AM6422 电路板上观察到的同样问题,但在这个电路板上,我们能够经常重现这个问题,只是在 10-20 重新启动后,这一次我们得到内核转储。
----------------------------------------
为了临时解决该问题、我们尝试在 uboot 和内核中启用看门狗。 这是有效的,我们能够恢复板,如果它卡住它超时,并自动重新启动.
但是、在基于 AM6422 的电路板上、如果我们在 uboot 中启用看门狗、CPU 1 将无法启动
'
只有在 U-boot 中禁用了看门狗时、它才会启动。
但我们希望它从 Uboot 运行
通过在线搜索、我们找到了与电源域相关的内容

所以删除它,并尝试.. 但如果我们在 uboot 中启用看门狗、仍然无法正常工作。
----------------------------
请指导我们识别并解决这两个问题