<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to use Watchdog timer in App and Bootloader?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/43753/how-to-use-watchdog-timer-in-app-and-bootloader</link><description>Hi. 
 I have a few questions. 
 1. Init watchdog timer in Bootloader. After Run application Still running Watchdog Timer? 
 2. If Watchdog timer still is active. not init only use feed call? 
 3. Switching Bootloader &amp;lt;-&amp;gt; Application. Must be sd_softdevice_vector_table_base_set</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 19 Feb 2019 08:29:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/43753/how-to-use-watchdog-timer-in-app-and-bootloader" /><item><title>RE: How to use Watchdog timer in App and Bootloader?</title><link>https://devzone.nordicsemi.com/thread/171812?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 08:29:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91429ac3-4f6c-495c-81a0-024b62967d94</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Yes, you always need to call &lt;a href="https://www.nordicsemi.com/DocLib/Content/SoftDevice_API_Doc/S112/v6-1-0/group_nrf_sdm_functions#ga46d2ce943076d65947ea8919198be106"&gt;sd_softdevice_vector_table_base_set()&lt;/a&gt;&amp;nbsp;in that case to tell the SoftDevice where to forward interrupts. In this case, the SoftDevice is currently forwarding interrupts to the bootloaders interrupt vector table, so you need to tell it to forward them to the application interrupt vector table instead before branching to the application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Watchdog timer in App and Bootloader?</title><link>https://devzone.nordicsemi.com/thread/171763?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 02:05:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:152ce3b8-8ad8-47ca-9097-d34edd883d9d</guid><dc:creator>sanghan</dc:creator><description>&lt;p&gt;Thanks for Reply.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;sd_softdevice_vector_table_base_set(0x0007B000);
nrf_sdh_disable_request();
nrf_bootloader_app_start_impl(0x0007B000);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This is my code(Base 14.2 SDK) that the application enters into the bootloader.&lt;/p&gt;
&lt;p&gt;I use SoftReset to re-enter the application.&lt;/p&gt;
&lt;p&gt;My question is, I want to know if the execution of the &amp;quot;sd_softdevice_vector_table_base_set ()&amp;quot; function is required to execute code in other areas.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Watchdog timer in App and Bootloader?</title><link>https://devzone.nordicsemi.com/thread/171323?ContentTypeID=1</link><pubDate>Fri, 15 Feb 2019 10:19:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2f4f827b-bd58-4f03-bd22-d9a0e2ba55c7</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;1. You can initialize and start the watchdog in the bootloader if you like, but that is not done in any SDK example.&lt;/p&gt;
&lt;p&gt;2. The watchdog is only disabled after a power cycle or a watchdog reset. Therefore, the bootloader must continue to feed the watchdog if it was enabled in the application. Support for this was added in 15.0 (and improved in 15.2). See &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/group__nrf__bootloader__wdt"&gt;Automated feeding of the watchdog&lt;/a&gt;&amp;nbsp;for details.&lt;/p&gt;
&lt;p&gt;3. No. Please refer to the bootloader example to see how it branches to the application. You can start by looking at nrf_bootloader_app_start.c (SDK 15.2) for how the bootloader starts the application. For seeing how the application start the bootloader in buttonless mode, you can refer to the implementation of&amp;nbsp;ble_dfu_buttonless_bootloader_start_finalize() in ble_dfu.c. Note that this implements only the last stages, as informing the application, handling bond sharing if needed etc happens before. I recommend you look at the &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/nRF5_SDK/v15-2-0/ble_sdk_app_buttonless_dfu"&gt;Buttonless DFU Template Application&lt;/a&gt;&amp;nbsp;for a working example.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>