<?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>Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/79995/watchdog-event-handler-timeout</link><description>I want to write some values to flash before the watchdog resets. For this I have the watchdog event handler specified: 
 
 In the wft_event_handler function I write a struct to flash with the fds module. This struct conaints 16 bytes, so 4 words. If I</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 08 Oct 2021 09:34:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/79995/watchdog-event-handler-timeout" /><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/333221?ContentTypeID=1</link><pubDate>Fri, 08 Oct 2021 09:34:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9990aeef-a788-48bc-8ae8-7317a6e508ab</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;Ah, that was the problem. I indeed did a pin reset, because according to this: &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52833%2Fpower.html&amp;amp;cp=4_1_0_4_2_5_7&amp;amp;anchor=concept_res_behav"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52833%2Fpower.html&amp;amp;cp=4_1_0_4_2_5_7&amp;amp;anchor=concept_res_behav&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;a pin reset has the same behaviour as a wdt reset, so that&amp;#39;s why I tested with that one.&lt;/p&gt;
&lt;p&gt;I added a watchdog reset to my template program, and there too the RAM retaines after reset. I know you said that this is out of spec, but it seems like wdt reset in this case is same as soft reset not as hard reset.&lt;/p&gt;
&lt;p&gt;Anyway, I now try to implement it in my own program, at least I have it working in a template for reference.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/333207?ContentTypeID=1</link><pubDate>Fri, 08 Oct 2021 08:58:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b35337ca-3949-4656-a61e-554f562d55c7</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I tested your hex file, and it works for me. See log:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;info&amp;gt; app_timer: RTC: initialized.
&amp;lt;info&amp;gt; app: Template example started.
&amp;lt;info&amp;gt; app: Fast advertising.
&amp;lt;info&amp;gt; app: Data from previous run:
&amp;lt;info&amp;gt; app:  D8 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app: Updated data:
&amp;lt;info&amp;gt; app:  D9 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app_timer: RTC: initialized.
&amp;lt;info&amp;gt; app: Template example started.
&amp;lt;info&amp;gt; app: Fast advertising.
&amp;lt;info&amp;gt; app: Data from previous run:
&amp;lt;info&amp;gt; app:  D9 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app: Updated data:
&amp;lt;info&amp;gt; app:  DA 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app_timer: RTC: initialized.
&amp;lt;info&amp;gt; app: Template example started.
&amp;lt;info&amp;gt; app: Fast advertising.
&amp;lt;info&amp;gt; app: Data from previous run:
&amp;lt;info&amp;gt; app:  DA 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app: Updated data:
&amp;lt;info&amp;gt; app:  DB 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app_timer: RTC: initialized.
&amp;lt;info&amp;gt; app: Template example started.
&amp;lt;info&amp;gt; app: Fast advertising.
&amp;lt;info&amp;gt; app: Data from previous run:
&amp;lt;info&amp;gt; app:  DB 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&amp;lt;info&amp;gt; app: Updated data:
&amp;lt;info&amp;gt; app:  DC 9D 1A 61 CE 31 BC 7B|...a.1.{
&amp;lt;info&amp;gt; app:  29 39 00 06 B3 4D B3 C6|)9...M..
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Perhaps the problem here is with how you reset? As mentioned, this is relying on undefined behavior and the type of reset will affect how this happens. I tested using &amp;quot;nrfjprog --reset&amp;quot;, which performs a soft reset. If you for instance use a pin reset, things will be different. A watchdog reset should be similar to a soft reset in this regard. But please remember that in addition to types of reset varying there can also be variations between individual ICs etc (again, this is relying on undefined and uncharacterized behaviors).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/333134?ContentTypeID=1</link><pubDate>Thu, 07 Oct 2021 19:18:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa863a98-dceb-4dc8-8e08-e4030da52179</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;Now it&amp;#39;s getting really odd, also with your files it&amp;#39;s not working for me. Just to double check, you press button 3 on the devkit, see the value go +1, then press the reset button and when you press button 3 again you see the value before the reset with a +1?&lt;/p&gt;
&lt;p&gt;If so, I&amp;#39;m more thinking of a linker issue or something. Which linker version you use? I have:&lt;/p&gt;
&lt;p&gt;GNU ld (GNU Binutils) 2.34.0.20200428&lt;/p&gt;
&lt;p&gt;Can you send me your hex file? I&amp;#39;ll include mine, just to verify nothing else is going on.&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/1067.ble_5F00_app_5F00_template_5F00_pca10040_5F00_s132.hex"&gt;devzone.nordicsemi.com/.../1067.ble_5F00_app_5F00_template_5F00_pca10040_5F00_s132.hex&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/333120?ContentTypeID=1</link><pubDate>Thu, 07 Oct 2021 17:32:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da02ca64-b7d6-41dd-9bdc-5949af66566c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hm, I also teste don a nRF52 DK. Here is my changes to your project: &lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/ble_5F00_app_5F00_template_5F00_277077.zip"&gt;devzone.nordicsemi.com/.../ble_5F00_app_5F00_template_5F00_277077.zip&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regarding size there should not be a 10 MB limitation, but you can anyway get an example project down to&amp;nbsp;fraction of an MB&amp;nbsp;by removing the build folder(s) and prebuilt hex files.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/333103?ContentTypeID=1</link><pubDate>Thu, 07 Oct 2021 15:09:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61cd95c4-6b9a-4251-991b-d1480056bc65</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;Hi, &lt;/p&gt;
&lt;p&gt;I did as you said,&amp;nbsp; but it&amp;#39;s still not working for me. I use nRF52-DK for what it matters.&lt;/p&gt;
&lt;p&gt;Can you send me your whole project file so I can try it? Perhaps there is something else missing&lt;/p&gt;
&lt;p&gt;By the way, files are limited to 10MB to send here, thats why I used a 3th party service&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/333057?ContentTypeID=1</link><pubDate>Thu, 07 Oct 2021 12:53:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cda79c63-100c-4031-9f0a-5f3f7f519a83</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Ah, that&amp;#39;s odd. I see the same. It seems you can fix it by adding keep=&amp;quot;Yes&amp;quot; in flash_placement.xml, so that the non_init line looks like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt;    &amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.non_init&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I am note sure why this is, though.&lt;/p&gt;
&lt;p&gt;By the way, you can also upload files here using Insert -&amp;gt; Image/video/file, so no need to use other file sharing sites and/or sends in PMs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332973?ContentTypeID=1</link><pubDate>Thu, 07 Oct 2021 10:13:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc7d2fbc-0f68-4f09-b6cd-94c92ea148be</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;It&amp;#39;s the app_template what I use for it. I&amp;#39;ve send it via PM to you to check it.&lt;/p&gt;
&lt;p&gt;In my own project I indeed have a bootloader, which makes it more complex. That&amp;#39;s why I first want to get it working with the app_template.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332964?ContentTypeID=1</link><pubDate>Thu, 07 Oct 2021 09:29:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e727248b-64b3-4110-9d1c-55beb6a8c6ee</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The data could be corrupted from time to time, but it is a bit odd that it happens so often, and even more odd that it seems to always be reset to 0xC8 when it does. Can you share the full project you tested with? Do you by any chance have anything else that could be suing the same RAM at some point, for instance a bootloader?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332905?ContentTypeID=1</link><pubDate>Wed, 06 Oct 2021 19:04:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58fcacf0-26f3-4e3c-8c3d-ef6873da09ed</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;I use the app_template as a test for this. In the flash_placement.xml I can see a &amp;quot;.non-init&amp;quot; section.&lt;/p&gt;
&lt;p&gt;I added the code exactly as you described, and I tested as follows:&lt;/p&gt;
&lt;p&gt;On button 1 press, it add&amp;#39;s 1 to the [0] of the retained buffer. I put this information in a log. See log below:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; &amp;lt;info&amp;gt; app_timer: RTC: initialized.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Template example started.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Fast advertising.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Data from previoius run:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  CA 0B 26 ED 61 FE 0B F9|..&amp;amp;.a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 18 F6 89 BD FF 7D 9B|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Updated data:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  CB 0B 26 ED 61 FE 0B F9|..&amp;amp;.a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 18 F6 89 BD FF 7D 9B|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Data from previoius run:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  CB 0B 26 ED 61 FE 0B F9|..&amp;amp;.a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 18 F6 89 BD FF 7D 9B|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Updated data:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  CC 0B 26 ED 61 FE 0B F9|..&amp;amp;.a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 18 F6 89 BD FF 7D 9B|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app_timer: RTC: initialized.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Template example started.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Fast advertising.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Data from previoius run:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  C8 0B 06 ED 61 FE 0B D9|....a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 08 D6 89 BD 7F 7D 93|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Updated data:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  C9 0B 06 ED 61 FE 0B D9|....a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 08 D6 89 BD 7F 7D 93|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Data from previoius run:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  C9 0B 06 ED 61 FE 0B D9|....a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 08 D6 89 BD 7F 7D 93|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Updated data:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  CA 0B 06 ED 61 FE 0B D9|....a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  70 08 D6 89 BD 7F 7D 93|p.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app_timer: RTC: initialized.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Template example started.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Fast advertising.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Data from previoius run:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  C8 03 26 ED 61 FE 0B F9|..&amp;amp;.a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  68 08 D6 C9 AD 7F 7D 9B|h.....}.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Updated data:
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  C9 03 26 ED 61 FE 0B F9|..&amp;amp;.a...
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app:  68 08 D6 C9 AD 7F 7D 9B|h.....}.
00&amp;gt; &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So when flashed m_retained_buffer[0] is CA. After a press it get&amp;#39;s CB after another press CC. Then I press the reset button on my devkit and then m_retained_buffer[0] becomes suddenly C8. After a couple presses and another reset it becomes C8 again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332748?ContentTypeID=1</link><pubDate>Wed, 06 Oct 2021 08:14:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:595f8d94-8b63-4f51-80f7-cacd55177aa8</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is possible with GCC as well, for instance as discussed in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/35488/losing-noinit-ram-contents-on-a-soft-reset-nrf52832-sdk-14-0-0-gcc"&gt;this thread&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regarding SES it should normally work as long as the example project you use has &amp;quot;.non_init&amp;quot; in the&amp;nbsp;flash_placement.xml file. Did you get a warning during building? (Also, the degree of which RAM content persists may depend on several other factors as well, and this is using the IC out of specification, so you can never be guaranteed that RAM data is retained after a reset.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332694?ContentTypeID=1</link><pubDate>Tue, 05 Oct 2021 16:36:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0927b41d-8435-464a-83a8-7d6acdb7b34a</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;I use the GCC toolchain with makefiles and linkerscript provided by Nordic.&lt;/p&gt;
&lt;p&gt;There such a section doesn&amp;#39;t exist, but I tried to make one but doesn&amp;#39;t retain memory.&lt;/p&gt;
&lt;p&gt;Therefore I tried this in SES, and there I can see that byte0 of the retained_buffer increases, but after a reset it gets a certain value, which implies it didn&amp;#39;t initialize to 0. However, it doesn&amp;#39;t contain the value it had before reset, so it&amp;#39;s not retaining its RAM. Am I doing something wrong?&lt;/p&gt;
&lt;p&gt;And what would be the correct way to do it in GCC ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332079?ContentTypeID=1</link><pubDate>Fri, 01 Oct 2021 08:52:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5677c30-b592-42da-9751-d942a2ebaa48</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;That is toolchain dependent. If you use&amp;nbsp;a SES&amp;nbsp;you can do something like this to make a retained buffer:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define RETAINED_BUFFER_SIZE 16
static int8_t m_retained_buffer[RETAINED_BUFFER_SIZE] __attribute__ ((section(&amp;quot;.non_init&amp;quot;)));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You can test this by for&amp;nbsp;instance&amp;nbsp;printing the array,&amp;nbsp;incrementing byte 0 and&amp;nbsp;printing&amp;nbsp;again:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    // Print old data
    NRF_LOG_INFO(&amp;quot;Data from previoius run:&amp;quot;);
    NRF_LOG_HEXDUMP_INFO(m_retained_buffer, sizeof(m_retained_buffer));

    // Update data
    m_retained_buffer[0]++;

    // Print new data
    NRF_LOG_INFO(&amp;quot;Updated data:&amp;quot;);
    NRF_LOG_HEXDUMP_INFO(m_retained_buffer, sizeof(m_retained_buffer));&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/332024?ContentTypeID=1</link><pubDate>Thu, 30 Sep 2021 21:10:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22fb4ebb-6950-474a-a413-9bd74d17424b</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;Do you know how can I do that? Is there some compiler value for this, like&amp;nbsp; &lt;code class="ph codeph"&gt;__attribute__((...))&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or how can I prevent memory being intialized after starting?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/331305?ContentTypeID=1</link><pubDate>Mon, 27 Sep 2021 12:15:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bdcaf9e9-939d-4cec-8ccc-291603f76933</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;You need to use some memory that is not initialized by your application when it starts. That means that global and static variables are not usable as they always automatically zero initialized in C. It is better to reserve some part of the memory, and then make a pointer to it and operate on that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/331267?ContentTypeID=1</link><pubDate>Mon, 27 Sep 2021 10:24:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b74315c-9a66-4edc-880d-c722cb8f64ca</guid><dc:creator>Gueston</dc:creator><description>&lt;p&gt;I tried to read out a struct member after a watchdog timeout, but then it&amp;#39;s reset to 0. Because I think it get&amp;#39;s 0&amp;#39;ed because it re-initializes all the content after a boot. Making a static variable inside a function also didnt help&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog event handler timeout</title><link>https://devzone.nordicsemi.com/thread/331233?ContentTypeID=1</link><pubDate>Mon, 27 Sep 2021 08:11:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01850b4c-25fd-4900-a994-456ee7ed9214</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is not possible to extend the time it takes between the event handler is called and the reset occurs. The only way around this is to sore data in RAM and not in flash, and then (if still needed) write it to flash after the reset. That may seem odd, as the &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52833/power.html?cp=4_1_0_4_2_5_7#concept_res_behav"&gt;reset behavior&lt;/a&gt; table states that the RAM is reset by a watchdog reset. However, the RAM is not explicitly reset and the content will in most cases be intact. You should add a checksum to the data though, so that you can verify after reset that the data is still valid.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>