<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: S32K322: Watchdog (SWT) interrupt not triggering and no reset after timeout in S32K</title>
    <link>https://community.nxp.com/t5/S32K/S32K322-Watchdog-SWT-interrupt-not-triggering-and-no-reset-after/m-p/2204631#M54454</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/252570"&gt;@yusupkhan241&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since the PIT is functioning as expected, let’s isolate the issue by working only with a project that involves the SWT. Could you please try the following example code?&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-SWT-DS3-5-RTD300/ta-p/1800559" target="_blank" rel="noopener"&gt;Example S32K312 SWT DS3.5 RTD300&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Related to Reset on Timeout, the SWT can be configured to generate either a reset or an interrupt when a timeout occurs. For details, refer to sections 66.5.1.2, 66.5.1.2.1, and 66.5.1.2.2 of the S32K3xx Reference Manual, Rev. 11.&lt;/P&gt;
&lt;P&gt;In ConfigTools → Peripheral Tool, these timeout responses can be configured using the following parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Operation Mode → SWT-&amp;gt;CR[ITR]&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Reset on Invalid Access → SWT-&amp;gt;CR[RIA]&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, VaneB&lt;/P&gt;</description>
    <pubDate>Thu, 13 Nov 2025 17:27:31 GMT</pubDate>
    <dc:creator>VaneB</dc:creator>
    <dc:date>2025-11-13T17:27:31Z</dc:date>
    <item>
      <title>S32K322: Watchdog (SWT) interrupt not triggering and no reset after timeout</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Watchdog-SWT-interrupt-not-triggering-and-no-reset-after/m-p/2203460#M54396</link>
      <description>&lt;P&gt;Hello NXP team,&lt;/P&gt;&lt;P&gt;I’m currently testing the &lt;STRONG&gt;SWT watchdog functionality&lt;/STRONG&gt; on multiple S32K3 devices and found differences in behavior across parts.&lt;BR /&gt;I’ve attached my full &lt;STRONG&gt;S32 Design Studio workspace&lt;/STRONG&gt; for reference, but here’s a summary of what I observed:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Tested Configurations&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;MCU&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;EVK&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Behavior&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;S32K311&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;S32K311 EVK&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Watchdog timeout interrupt callback triggered as expected.&lt;/P&gt;&lt;P&gt;Reset on timeout &lt;STRONG&gt;not occurring&lt;/STRONG&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;S32K344&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;S32K344 EVK&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Watchdog timeout &amp;nbsp;interrupt callback triggered as expected.&lt;/P&gt;&lt;P&gt;Reset on timeout &lt;STRONG&gt;not occurring&lt;/STRONG&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;S32K322&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Custom board (100-pin)&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Watchdog timeout &amp;nbsp;interrupt callback &lt;STRONG&gt;not invoked&lt;/STRONG&gt; and Reset on timeout &lt;STRONG&gt;not occurring&lt;/STRONG&gt; , even though SWT is initialized and serviced.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Software &amp;amp; Environment&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;MCU:&lt;/STRONG&gt; S32K322 (100-pin package)&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;RTD:&lt;/STRONG&gt; S32K3_RTD_6_0_0_QLP04_D2508_ASR_REL_4_7_REV_0000_20250822&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;IDE:&lt;/STRONG&gt; S32 Design Studio for S32 Platform&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;SDK components used:&lt;/STRONG&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI&gt;Swt_Ip&lt;/LI&gt;&lt;LI&gt;Clock_Ip&lt;/LI&gt;&lt;LI&gt;IntCtrl_Ip&lt;/LI&gt;&lt;LI&gt;Pit_Ip&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Issue Summary&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Reset on timeout is not working&lt;/STRONG&gt; on S32K311 and S32K344.&lt;BR /&gt;The watchdog interrupt triggers correctly, but no device reset occurs even when the watchdog is intentionally left unserviced.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;SWT interrupt callback is not invoked&lt;/STRONG&gt; on S32K322 (100-pin).&lt;BR /&gt;The same code and configuration that worked on S32K311 and S32K344 fails to generate an interrupt here.&lt;BR /&gt;PIT interrupt works fine — so the NVIC setup seems functional.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;What I’ve Verified&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;SWT0 interrupt vector is enabled and mapped:&lt;/LI&gt;&lt;LI&gt;IntCtrl_Ip_InstallHandler(SWT0_IRQn, Swt_Ip_Swt0_Isr, NULL_PTR);&lt;/LI&gt;&lt;LI&gt;PIT timer interrupt is firing correctly → confirms interrupt controller setup is working.&lt;/LI&gt;&lt;LI&gt;The watchdog counter appears to be running (checked through debugger).&lt;/LI&gt;&lt;LI&gt;No lock or configuration error bits set in the SWT registers.&lt;/LI&gt;&lt;LI&gt;Tested with and without servicing the watchdog — no interrupt seen on S32K322.&lt;/LI&gt;&lt;LI&gt;Used &lt;STRONG&gt;default RTD Swt_Ip_Cfg0&lt;/STRONG&gt; configuration.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Code Snippet&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Here’s a simplified version of my test case:&lt;/P&gt;&lt;P&gt;void Swt_CallbackNotification0(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32NumOfNotifications++;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int main(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Clock_Ip_InitClock(&amp;amp;Clock_Ip_aClockConfig[0]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntCtrl_Ip_Init(&amp;amp;IntCtrlConfig_0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntCtrl_Ip_InstallHandler(SWT0_IRQn, Swt_Ip_Swt0_Isr, NULL_PTR);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntCtrl_Ip_InstallHandler(PIT0_IRQn, PIT_0_ISR, NULL_PTR);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pit_Ip_Init(PIT_INST_0, &amp;amp;PIT_0_InitConfig_PB_BOARD_InitPeripherals);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pit_Ip_InitChannel(PIT_INST_0, PIT_0_CH_0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pit_Ip_EnableChannelInterrupt(PIT_INST_0, CH_0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pit_Ip_StartChannel(PIT_INST_0, CH_0, PIT_PERIOD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Swt_Ip_Init(SWT_INST, &amp;amp;Swt_Ip_Cfg0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (uint32_t i = 0; i &amp;lt; NUM_OF_NOTIFICATIONS; i++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Swt_Ip_Service(SWT_INST);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((u32NumOfNotifications &amp;lt;= i)) { }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Swt_Ip_Deinit(SWT_INST);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DevAssert(TRUE);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request for Support&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Is there any known &lt;STRONG&gt;difference in SWT interrupt routing or configuration&lt;/STRONG&gt; on the &lt;STRONG&gt;S32K322 (100-pin)&lt;/STRONG&gt; variant compared to S32K311/344?&lt;/LI&gt;&lt;LI&gt;Are there any &lt;STRONG&gt;SoC-level differences&lt;/STRONG&gt; (e.g., reset domains, RSTGEN configuration, or PRAM protection) that prevent SWT reset or interrupt generation?&lt;/LI&gt;&lt;LI&gt;Could you please confirm whether &lt;STRONG&gt;reset-on-timeout&lt;/STRONG&gt; is expected to work with the current RTD (6.0.0) configuration?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Attachments&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Full S32 Design Studio workspace (ZIP)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Thank you for your support — looking forward to your feedback so I can resolve this quickly.&lt;/P&gt;&lt;P&gt;Best regards,&lt;BR /&gt;&lt;STRONG&gt;Yusup&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 09:22:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Watchdog-SWT-interrupt-not-triggering-and-no-reset-after/m-p/2203460#M54396</guid>
      <dc:creator>yusupkhan241</dc:creator>
      <dc:date>2025-11-12T09:22:25Z</dc:date>
    </item>
    <item>
      <title>Re: S32K322: Watchdog (SWT) interrupt not triggering and no reset after timeout</title>
      <link>https://community.nxp.com/t5/S32K/S32K322-Watchdog-SWT-interrupt-not-triggering-and-no-reset-after/m-p/2204631#M54454</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/252570"&gt;@yusupkhan241&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since the PIT is functioning as expected, let’s isolate the issue by working only with a project that involves the SWT. Could you please try the following example code?&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-SWT-DS3-5-RTD300/ta-p/1800559" target="_blank" rel="noopener"&gt;Example S32K312 SWT DS3.5 RTD300&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Related to Reset on Timeout, the SWT can be configured to generate either a reset or an interrupt when a timeout occurs. For details, refer to sections 66.5.1.2, 66.5.1.2.1, and 66.5.1.2.2 of the S32K3xx Reference Manual, Rev. 11.&lt;/P&gt;
&lt;P&gt;In ConfigTools → Peripheral Tool, these timeout responses can be configured using the following parameters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Operation Mode → SWT-&amp;gt;CR[ITR]&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Reset on Invalid Access → SWT-&amp;gt;CR[RIA]&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, VaneB&lt;/P&gt;</description>
      <pubDate>Thu, 13 Nov 2025 17:27:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K322-Watchdog-SWT-interrupt-not-triggering-and-no-reset-after/m-p/2204631#M54454</guid>
      <dc:creator>VaneB</dc:creator>
      <dc:date>2025-11-13T17:27:31Z</dc:date>
    </item>
  </channel>
</rss>

