<?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>Kinetis MicrocontrollersのトピックWatchdog ISR is not entered on Kinetis</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714830#M43899</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We try to activate the Watchdog interrupt in a Kinetis MK22FN512 without success.&lt;BR /&gt;As you can see in the attached code snippet we enabled the watchdog and activated the watchdog interrupt.&lt;BR /&gt;Then we start a endless loop.&lt;BR /&gt;As expected the watchdog does a resets after the timeout.&lt;BR /&gt;But it does not call the interrupt routine (WDOG_EWM_IRQHandler) before rebooting also "enableInterrupt" is set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What are we doing wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;robert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;#include "hal/nxp_mk/fsl_mk22fn512xxx12/drivers/fsl_wdog.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wdog_config_t config;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;__enable_interrupt();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Activate Watchdog&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WDOG_GetDefaultConfig(&amp;amp;config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.prescaler = kWDOG_ClockPrescalerDivide8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.timeoutValue = 3000000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.enableWindowMode = false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.clockSource = kWDOG_AlternateClockSource;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.enableInterrupt = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WDOG_Init(WDOG, &amp;amp;config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (1);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void WDOG_EWM_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// #is never entered&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 04 Sep 2017 11:34:48 GMT</pubDate>
    <dc:creator>baltech</dc:creator>
    <dc:date>2017-09-04T11:34:48Z</dc:date>
    <item>
      <title>Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714830#M43899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We try to activate the Watchdog interrupt in a Kinetis MK22FN512 without success.&lt;BR /&gt;As you can see in the attached code snippet we enabled the watchdog and activated the watchdog interrupt.&lt;BR /&gt;Then we start a endless loop.&lt;BR /&gt;As expected the watchdog does a resets after the timeout.&lt;BR /&gt;But it does not call the interrupt routine (WDOG_EWM_IRQHandler) before rebooting also "enableInterrupt" is set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What are we doing wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;robert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;#include "hal/nxp_mk/fsl_mk22fn512xxx12/drivers/fsl_wdog.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wdog_config_t config;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;__enable_interrupt();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Activate Watchdog&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WDOG_GetDefaultConfig(&amp;amp;config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.prescaler = kWDOG_ClockPrescalerDivide8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.timeoutValue = 3000000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.enableWindowMode = false;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.clockSource = kWDOG_AlternateClockSource;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.enableInterrupt = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WDOG_Init(WDOG, &amp;amp;config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (1);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void WDOG_EWM_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// #is never entered&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Sep 2017 11:34:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714830#M43899</guid>
      <dc:creator>baltech</dc:creator>
      <dc:date>2017-09-04T11:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714831#M43900</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you sure that the watchdog initilisation code also enables the watchdog interrupt in the NVIC? If not you will need to enable it there too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Sep 2017 17:06:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714831#M43900</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-09-04T17:06:00Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714832#M43901</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi robert,&lt;/P&gt;&lt;P&gt;I agree with the opinion of Mark. Please enalbe the watchdog interrupt in the NVIC.&lt;/P&gt;&lt;P&gt;If you are using Kinetis SDK2.x, please refer the code shown below:&lt;/P&gt;&lt;P&gt;NVIC_EnableIRQ(WDOG_EWM_IRQn);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Sep 2017 03:05:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714832#M43901</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2017-09-05T03:05:03Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714833#M43902</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Robert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In fact the problem that you have is &lt;EM&gt;very likely&lt;/EM&gt; to be the method you are using to check that the interrupt takes place. When the watchdog fires it generates an interrupt and WCNT later (256 clocks if I remember correctly) it unconditionally resets too. Using break points to detect this will probably not work because the debugger will show a reset before it has had time to show that the break point was hit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you set a port output or write something to SRAM that can be checked after the reset you should find that it does in fact work. I have attached a binary that verifies the operation that can be checked on the FRDM-K22F.&lt;/P&gt;&lt;P&gt;1. It runs " normally" for about 20 s and in this time the SRAM content can be checked via the VCOM interface at 115kBaud.&lt;/P&gt;&lt;P&gt;2. It will create a forever loop after this time that causes the watchdog to fire. The watchdog interrupt will write a pattern to SRAM.&lt;/P&gt;&lt;P&gt;The SRAM locations 0x2000fffc..0x2000ffff are reserved for this. They will power up to random values. When the forever loop starts 0x2000fffc is set to 0x1234. When the watchdog interrupt takes place 0x2000fffe is set to 0x55aa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what it looks like (after powering the board) - using the command line interface to request memory content&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;Hello, world... KINETIS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;OS Heap use = 0x0189 from 0x6000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;Serial number: 00&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;Software version V1.4.012&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;Device identification: KINETIS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;===================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure LAN interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure serial interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to I/O menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to administration menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to overview/statistics menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to USB menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to I2C menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to utFAT disk interface&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTP/TELNET client commands&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN commands&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;&amp;nbsp;Input/Output menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;===================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;up&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; go to main menu&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; color: #0000ff;"&gt;md&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Display [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [num]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; color: #0000ff;"&gt;mm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Modify [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;mf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Fill [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val] [num]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;sd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Display {as md}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;sm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Modify {as mm}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;sf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Fill {as mf}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;se&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Erase [address] [len-hex]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;set_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port type [1..4] [&amp;lt;i&amp;gt;|&amp;lt;o&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;get_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get data direction [1..4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;read_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read port input [1..4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;write_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port output [1..4] [0/1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;save&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Save port setting as default&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;#md 2000fff8 w 4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;Memory Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;0x2000fff8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 41bb 0000 &lt;SPAN style="color: #ff0000;"&gt;5340 3a04&lt;/SPAN&gt;&amp;nbsp; &lt;A href="mailto:A...S@:"&gt;A...S@:&lt;/A&gt;.&amp;nbsp; &amp;lt;---- Notice random content&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;After the watchdog reset&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;Hello, world... KINETIS&lt;BR /&gt;OS Heap use = 0x0189 from 0x6000&lt;BR /&gt;&lt;BR /&gt;Serial number: 00&lt;BR /&gt;Software version V1.4.012&lt;BR /&gt;Device identification: KINETIS&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Main menu&lt;BR /&gt;===================&lt;BR /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure LAN interface&lt;BR /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure serial interface&lt;BR /&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to I/O menu&lt;BR /&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to administration menu&lt;BR /&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to overview/statistics menu&lt;BR /&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to USB menu&lt;BR /&gt;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to I2C menu&lt;BR /&gt;8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to utFAT disk interface&lt;BR /&gt;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTP/TELNET client commands&lt;BR /&gt;a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN commands&lt;BR /&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;BR /&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;BR /&gt;3&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;Input/Output menu&lt;BR /&gt;===================&lt;BR /&gt;up&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; go to main menu&lt;BR /&gt;md&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Display [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [num]&lt;BR /&gt;mm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Modify [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val]&lt;BR /&gt;mf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory Fill [address] [&amp;lt;l&amp;gt;|&amp;lt;w&amp;gt;|&amp;lt;b&amp;gt;] [val] [num]&lt;BR /&gt;sd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Display {as md}&lt;BR /&gt;sm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Modify {as mm}&lt;BR /&gt;sf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Fill {as mf}&lt;BR /&gt;se&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Storage Erase [address] [len-hex]&lt;BR /&gt;set_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port type [1..4] [&amp;lt;i&amp;gt;|&amp;lt;o&amp;gt;&lt;BR /&gt;get_ddr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get data direction [1..4]&lt;BR /&gt;read_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read port input [1..4]&lt;BR /&gt;write_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set port output [1..4] [0/1]&lt;BR /&gt;save&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Save port setting as default&lt;BR /&gt;help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Display menu specific help&lt;BR /&gt;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Leave command mode&lt;BR /&gt;&lt;BR /&gt;#md 2000fff8 w 4&lt;BR /&gt;Memory Display&lt;BR /&gt;0x2000fff8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 41bb 0000 &lt;SPAN style="color: #ff0000;"&gt;1234 55aa&lt;/SPAN&gt;&amp;nbsp; A....4U.&amp;nbsp; &amp;lt;-- notice the expected pattern in memory&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;If I try to debug this I &lt;SPAN style="text-decoration: underline;"&gt;never hit the break point&lt;/SPAN&gt; but the test shows that it does work, but the debugger probably can't handle the situation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial,helvetica,sans-serif;"&gt;Mark&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Sep 2017 11:09:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714833#M43902</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-09-05T11:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714834#M43903</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Robert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As reference, this is the watchdog initialisation code:&lt;BR /&gt;UNLOCK_WDOG();&lt;BR /&gt;WDOG_TOVALL = (2000/5);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 2s timeout&lt;BR /&gt;WDOG_TOVALH = 0;&lt;BR /&gt;WDOG_STCTRLH = (WDOG_STCTRLH_STNDBYEN | WDOG_STCTRLH_WAITEN | WDOG_STCTRLH_STOPEN | WDOG_STCTRLH_WDOGEN | WDOG_STCTRLH_IRQRSTEN) // watchdog enabled to generate reset on 2s timeout (no further updates allowed)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Registration of interrupt handler:&lt;BR /&gt;fnEnterInterrupt(irq_WDOG_ID, 0, wdog_irq);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // test WDOG interrupt (highest priority)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The watchdog interrupt handler itself:&lt;BR /&gt;static void wdog_irq(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WDOG_STCTRLL = (WDOG_STCTRLL_INTFLG | WDOG_STCTRLL_RES1); // clear interrupt flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *BOOT_MAIL_BOX = 0x9876;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set a pattern to the boot mailbox to show that the watchdog interrupt took place&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Beware that if code hangs / crashes in a region where interrupts are disabled also the watchdog interrupt will not be able to be executed.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Sep 2017 11:22:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714834#M43903</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-09-05T11:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714835#M43904</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thx a lot for your detailed answer!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Forgetting to activate the NVIC Interrupt for WDT was a bloody beginners fault...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could it be that Breakpoints do not work in your Watchdog ISR because you set the WDOG_STCTRLH_WAITEN / WDOG_STCTRLH_STOPEN bits in WDOG_STCTRLH?!?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was able to run your &lt;A _jive_internal="true" data-content-finding="Community" href="https://community.nxp.com/servlet/JiveServlet/download/939912-1-409158/uTaskerV1.4.12_FRDM-K22F_WDOG_INT_TEST.bin.zip"&gt;uTaskerV1.4.12_FRDM-K22F_WDOG_INT_TEST.bin&lt;/A&gt; on my FRDM-K22 board and reproduce your results. But when trying it with my own mini-firmware I still suffer from the same problem, although:&lt;/P&gt;&lt;P&gt;&amp;nbsp; - activated the watchdog IRQ in the NVIC&lt;/P&gt;&lt;P&gt;&amp;nbsp; - I tried the same WDOG settings as you&lt;/P&gt;&lt;P&gt;&amp;nbsp; - instead of a Breakpoint I outputted some data via seggers RTT interface in the ISR.&lt;/P&gt;&lt;P&gt;&amp;nbsp; - I even added a debugmessage when the INTFLG of the WDOG_STCTRLL is set during the mainloop. But this message is also never printed...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;robert&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Sep 2017 13:51:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714835#M43904</guid>
      <dc:creator>baltech</dc:creator>
      <dc:date>2017-09-05T13:51:21Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714836#M43905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Robert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;Could it be that Breakpoints do not work in your Watchdog ISR because you set the WDOG_STCTRLH_WAITEN / WDOG_STCTRLH_STOPEN bits in WDOG_STCTRLH?!?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These allow the watchdog to continue running in STOP and WAIT modes so have no effect. I did also try without them and with WDOG_STCTRLH_DBGEN (which allows the watchog to continue when paused by the debugger) and I never ever hit a break point in the watchdog interrupt service routine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would toggle a pin or write to memory - certain don't trust debugger communication channels in such a situation! Any code there may also not work if it takes too many clock cycles to actually copy the debug data to the output and have it sent (also the UART would need a very high speed to actually get a couple of bytes out before the HW reset also kills it....).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In fact the firmware that I posted (and you checked) also polls the INTFLG in its forever loop. If it were to detect it being set (before the interrupt is taken) it would set 0x5678 instead of 0x1234 at the address 0x2000fffc. However, after doing several watchdog tests, I never saw this being set, meaning that either the flag is not 'visibly' set or the interrupt is always taken 'before' the flag becomes visible. Since this situation is a very special one (the processor will reset within a small number of clock cycles no matter what is done at this point) the reactions may not be absolutely as expected in normal operation. I find that the interrupt is hit, which is the main thing of real interest, and this is intended for saving some memory in order to possibly allow the 'crash' to be analysed for this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Sep 2017 14:13:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/714836#M43905</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-09-05T14:13:52Z</dc:date>
    </item>
    <item>
      <title>Re: Watchdog ISR is not entered on Kinetis</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/1152375#M58065</link>
      <description>&lt;P&gt;#include "hal/nxp_mk/fsl_mk22fn512xxx12/drivers/fsl_wdog.h"&lt;/P&gt;&lt;P&gt;void main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wdog_config_t config;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;this line only enable the already configured and enabled ISRs only&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;__enable_interrupt();&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Activate Watchdog&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WDOG_GetDefaultConfig(&amp;amp;config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.prescaler = kWDOG_ClockPrescalerDivide8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.timeoutValue = 3000000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.enableWindowMode = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.clockSource = kWDOG_AlternateClockSource;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.enableInterrupt = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WDOG_Init(WDOG, &amp;amp;config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (1);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void WDOG_EWM_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// #is never entered&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;USE this configuration for this&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Read the default condition for watchdog interrupt*/&lt;BR /&gt;WDOG_GetDefaultConfig( &amp;amp;wdog_info);&lt;/P&gt;&lt;P&gt;/*Set the time out value*/&lt;BR /&gt;wdog_info.enableWdog = true;&lt;BR /&gt;wdog_info.timeoutValue = WDOG_TIME_MS;&lt;/P&gt;&lt;P&gt;/*Initialize the watch dog timer*/&lt;BR /&gt;WDOG_Init(WDOG, &amp;amp;wdog_info);&lt;/P&gt;&lt;P&gt;/*Enable watch dog interrupt*/&lt;BR /&gt;WDOG_EnableInterrupts(WDOG, WDOG_EWM_IRQn);&lt;/P&gt;&lt;P&gt;/* Enable at the NVIC*/&lt;BR /&gt;EnableIRQ(WDOG_EWM_IRQn);&lt;/P&gt;</description>
      <pubDate>Sat, 12 Sep 2020 08:41:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Watchdog-ISR-is-not-entered-on-Kinetis/m-p/1152375#M58065</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-09-12T08:41:54Z</dc:date>
    </item>
  </channel>
</rss>

