LPC5536 why does IRQ 0 remain pending if not for WWDG or BOD?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC5536 why does IRQ 0 remain pending if not for WWDG or BOD?

335件の閲覧回数
Peter-M2PRO
Contributor II

I'm trying to use the Windowed Watchdog Timer (WWDG/WDT) warning interrupt. Unfortunately, it uses a shared "System Interrupt" IRQ 0 with multiple sources such as the Brown-Out Detector (BOD) and likely others that I can't find in the documentation.

IRQ 0 retains it's pending state in the NVIC despite clearing it and despite the WWDG nor BOD raising an interrupt flag. Even with these peripherals entirely disabled IRQ 0 remains pending after clear.

What else can cause this? Where is it documented what sources share IRQ 0?

I have found no answers in the datasheet or reference manual. Specifically table 13 Interrupt Vector Assignments does not list any other sources.

I did find a hint towards Flash on line 85 of LPC5536.h: "CMSIS Peripheral Access Layer for LPC5536" rev. 1.1:

WDT_BOD_IRQn = 0, /**< Windowed watchdog timer, Brownout detect, Flash interrupt */

ARM documentation for the M33 core list this vector as a "System" interrupt without much details. I assume this is because the integrator, NXP, decides what sources are connected here.

0 件の賞賛
返信
1 返信

257件の閲覧回数
Pablo_Ramos
NXP Employee
NXP Employee

As you mentioned, the watchdog and brownout detect share the same IRQ.

Have you tested using the niobe4_series_wwdt_example? Does the issue still occur with that example?

Also, could you share how you're handling IRQ0 in your implementation?

Best Regards,
Pablo

0 件の賞賛
返信