2151748_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2151748_zh-CN

2151748_zh-CN

在 i.mx8ULP 上 RESET 之前未触发 WDOG32 中断

你好

我正在研究 i.MX8ULP,并尝试在 WDOG32 触发信号 RESET 之前在中断模式下使用它。

尽管我已将监视程序配置为启用中断,但它仍然像普通的监视器一样运行——它直接RESET系统而不会产生中断。

 void WDOG0_IRQHandler(void)
{
    PRINTF("Watchdog IRQ triggered! Count = %u\r\n", wdog_irq_count);
    /* Clear interrupt flag */
    WDOG32_ClearStatusFlags(WDOG0, kWDOG32_InterruptFlag);
    wdog_irq_count++;
    SDK_ISR_EXIT_BARRIER;
}

/* Get default configuration */
    WDOG32_GetDefaultConfig(&config);
    /* Enable interrupt mode */
    config.enableInterrupt = true;   
    config.timeoutValue = WDOG_TIMEOUT_VALUE;  
    NVIC_EnableIRQ(WDOG0_IRQn);
    for (temp = 0; temp < DELAY_TIME; temp++)
    {
        __NOP();
    }
    
    /* Initialize WDOG32 with config */
    WDOG32_Init(WDOG0, &config);
    while(1)
    {
    }


我附上了完整的 wdog32.c文件也在那个看门狗 IRQ 里我已经刷新了看门狗但是超时后它仍在RESET。

WDOG32 中断模式是否需要额外的初始化,在这种情况下,我只需要中断而不是 RESET 可能吗?

i.MX8ULPRe: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP

你好,@Bio_TICFSL 看门狗 RESET 时你
有没有用 EVK 在 0.9V 下启动?

Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP

你好,@Bio_TICFSL

我使用 EVK 测试了看门狗示例代码的默认高频率,启动正常。但是,当我将电压降至0.9V时(如我前面的代码片段所示),看门狗超时后,内核在启动过程中会卡住。

如果您已经在0.9V 的 EVK 上进行了测试。能否请您分享一下您在 EVK 上用于该测试的确切代码/配置?

谢谢、

Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP

您好,

代码没问题我只是看能降低电压的东西,因为 EVK 可以启动大约 9.0 伏特。

此致

Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP

你好,@Bio_TICFSL

status = UPOWER_ChngRTDDomBias(DRIVE_MODE_UD);
assert(status == 0);

status = UPOWER_ChngPmicVoltage(PMIC_BUCK2, PMIC_VOLTAGE_0_9V);
if (status == 0)
{
    status = UPOWER_GetPmicVoltage(PMIC_BUCK2, &voltage);
    if (status == 0 && voltage == PMIC_VOLTAGE_0_9V)
    {
        // success
    }
    else
    {
        assert(false);
    }
}
else
{
    assert(false);
}

在调试过程中,我发现

  • 当 PMIC 在 ARBB 模式下设置为 0.9V 时,看门狗 RESET 后,内核在启动期间会卡住。

  • 如果我将 PMIC 电压增加到 1.0V 或 1.1V,即使在较低的频率下,RESET 和启动也能正常工作。

我需要将PMIC电压保持在 0.9V 以节省功耗,但是使用这种设置,系统在看门狗 RESET 后无法可靠地启动。

在 0.9V 时可能导致此问题的原因,是否有任何建议的更改或变通办法来确保内核在该电压下 RESET 后能够正常启动?

如能得到任何帮助或指导,将不胜感激。

Re: WDOG32 on ARBB mode of cortex-M33 after reset bootup issue on i.MX8ULP

在 i.MX8ULP 的 Cortex-M33 上,我将 M33 内核配置为ARBB 模式运行。当监视程序超时时,它会尝试 RESET 内核。但是,在重启过程中,内核似乎卡住了,因为在RESET之前,代码已将M33切换到ARBB模式,该模式以较低的频率运行。

需要进行哪些修改才能使内核在 ARBB 模式下运行并且监视程序 RESET,它才能成功再次启动?

Re: WDOG32 Interrupt Not Triggering Before Reset on i.MX8ULP

你好,@Bio_TICFSL


我能够在非中断模式下使用看门狗,它正在按预期重置系统。
但是,我需要看门狗中断模式,而且我不确定启用和处理中断的正确配置步骤。

你能否指导我如何在中断模式下启用 WDOG32,这样我的代码才能在 RESET 之前真正进入 WDOG32 IRQ 处理程序?

Re: WDOG32 Interrupt Not Triggering Before Reset on i.MX8ULP

你好

是的,根据参考手册应该是可能的,请看第 9.1.7 章电源模式详情(实时功能域):

Bio_TICFSL_0-1755101945824.png


Bio_TICFSL_1-1755101946148.png


Bio_TICFSL_2-1755101947947.png


Bio_TICFSL_3-1755101945832.png


Bio_TICFSL_4-1755101945826.png


如你所见,在 ARBB 模式下,WDOG0 的所有必要元器件都可用,但也许 uPower 正在控制这个 WDOG 或整个 PBRIDGE0 的门控时钟。

请参阅《uPower 固件用户指南》。


此致

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 07:35 AM
Updated by: