问题-我的软件RESET不起作用。
在 uboot 中,键入 “RESET” 会使系统停顿。
在 Linux 中 - tpying`reboot` 会使系统停滞。
我的设备树中启用了 wdog3。,
&wdog3 {
status = "okay";
};版本控制:
注意:
对于 uboot,我默认使用 `CONFIG_IMX_WATCHDOG=n`,因为它似乎不受支持。
所有参考监视程序的引用均已启用,请参阅以下链接。
因此,我的 Linux 配置为
For the Linux kernel there are SCU watchdog configuration options.
CONFIG_IMX2_WDT=y
CONFIG_IMX_SC_WDT=y
CONFIG_HAVE_ARM_SMCCC=y
CONFIG_IMX_SCU=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0在仔细阅读了 i.MX 91 应用处理器参考手册之后,我没有找到使用处理器进行 " 热RESET " 的方法。我将关闭这个问题,因为我们因为没有连接 WDOG_ANY 引脚而犯了设计错误,然后该引脚可以通过 por_B-PIN RESET 处理器。
结论:执行软件RESET需要硬件线路到位。
感谢@Chavira的快速回复,并指出了我不知道的缺失环节。
你好,@DavidFlir、
您可以尝试使用我们的看门狗单元测试来验证功能。
如果您使用我们的电路板支持包,则测试应位于项目目录根目录下的 " Unit tests " 文件夹中。
用例
./autorun-wdog.sh
or
./wdt_driver_test.out 1 2 0 &
该测试旨在在大约 3 秒钟后触发信号系统 RESET。
这是基于 1 秒钟的超时,然后是 2 秒钟的休眠。
你好,@DavidFlir、
您使用的是 iMX8 还是 iMX91?
在表 25 中,您可以看到我们使用了 imx7ulp_wdt.c 文件。iMX9 设备的驱动程序,包括 iMX91、iMX93 和 iMX95。
对于 iMX8,我们使用 imx8_wdt.c驱动程序,因为其架构与 iMX9 系列不同。
阅读经常被引用的Linux参考手册,我明白:
我找不到的文件与IMX8看门狗有关。
在 2025 年 9 月发布的版本中也没有-> https://github.com/nxp-imx/linux-imx/tree/lf-6.12.34-2.1.0/drivers/watchdog
那么文件已经过时了?
你好,@DavidFlir、
这可能就是问题所在。我知道你没有使用 PMIC,但是实现正确的 RESET 硬件以确保所有电源序列符合 imx91 芯片的规格非常重要。
如果你能使用 imx91-EVK 或 FRDM-imx91 板,我建议你测量电源顺序。虽然这些都记录在参考手册中,但将它们与工作模型进行比较通常有助于识别和解决定制板上的问题。
致以最崇高的敬意,
Chavira
你好,@DavidFlir、
iMx91 中的 RESET 机制涉及软件和硬件协调。当监视器 RESET 被触发时,SoC 会在 WDOG_B 引脚上断言低信号。该信号被路由到PMIC,然后PMIC在电源轨上启动RESET序列。
为确保正常运行,系统的开机、掉电和 RESET 顺序必须符合 iMx91 参考手册中列出的规格。
我们的 PMIC 专为 iMX91 平台设计,因此如果配置正确,您应该不会遇到与 RESET 行为相关的问题。
致以最崇高的敬意,
Chavira
@Chavira,感谢您的回复。
我不知道这怎么会是与硬件有关的错误。据我所知,看门狗纯粹是软件。procosser iMX91 检测到超时并重新启动。那么硬件链接在哪里?
我们没有 PCA9541 设备。
从那以后,信号在启动时表现正常... 而且我已经可以启动到Linux了。
我一直在将设备树与 EVK 示例进行比较,但我没有发现区别,所以我来这里寻求帮助。
一个有用的链接是这样的...https://community.nxp.com/t5/i-MX-Processors/i-MX93-Linux-reboot-not-working/m-p/2039359但我的 wdog3 已启用,但仍无法正常工作。
还有一个 wdog4 和 wdog5,但是启用它们会阻止主板启动。
wdog4:看门狗 @424a0000 {
兼容 = " fsl,imx93-wdt ";
reg =<0x424a0000 0x10000> ;中断
=
= < & clk IMX91_CLK_WDOG4_GATE >;
timeout-sec =;<40>
状态 = " 已禁用
";};
wdog5:看门狗 @424b0000 {
兼容 = " fsl,imx93-wdt ";
reg =<0x424b0000 0x10000> ;中断
时钟 = < & clk IMX91_CLK_WDOG5_GATE >;
timeout-sec =<40> ;
状态 = " 已禁用 ";};
所以谢谢你的提示... 但目前尚不清楚问题可能出在哪里。
(因为我认为这与硬件无关,所以不贴原理图)。
你好,@DavidFlir、
感谢您联系恩智浦支持中心!
您目前使用的是 PCA9451 PMIC 吗?
你能否确认开机、掉电和RESET信号的行为是否符合规格?
关于您的软件环境,请注意我们不为 Buildroot 提供官方支持。我们支持的平台是 Yocto 项目,我们推荐将其用于开发。
您可以在这里找到所有相关文件:
为确保兼容性和稳定性,我们建议将我们的电路板支持包移植到您的自定义硬件。这将有助于验证电路板支持包在您的特定设置下是否能正常运行。
您可能需要将您的设置的设备树和内核配置与我们的 EVK 板上的设备树和内核配置进行比较。不过,根据症状,这有可能是一个与硬件有关的问题。
您能分享一下您的原理图吗?这将有助于我们更好地了解情况,提供更准确的指导。
顺祝商祺!
查维拉