<?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>Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/53437/recover-nrf52840-dongle-after-uicr-erase</link><description>Hello, 
 I am trying to &amp;#39;recover nRF52840 dongle after accidental UICR erase&amp;#39; as described here I did modify my dongle as described here 
 Unfortunately I do not know how to set the REGOUT0 as described. I don&amp;#39;t know what I am looking for... Probably</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 11 Nov 2019 13:23:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/53437/recover-nrf52840-dongle-after-uicr-erase" /><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/219482?ContentTypeID=1</link><pubDate>Mon, 11 Nov 2019 13:23:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa94f7e8-3c8c-41e4-8069-ce080d9678aa</guid><dc:creator>sonus89</dc:creator><description>&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/217040?ContentTypeID=1</link><pubDate>Mon, 28 Oct 2019 10:34:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:834c14a3-5b44-4acd-b4b1-8901a3625243</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You should probably check if the register has the correct settings already:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;if((NRF_UICR-&amp;gt;REGOUT0 &amp;amp; (uint32_t)UICR_REGOUT0_VOUT_Msk) != (UICR_REGOUT0_VOUT_3V3 &amp;lt;&amp;lt; UICR_REGOUT0_VOUT_Pos))
{
    // Set regulator settings in UICR.
}

&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/216928?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2019 18:59:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:32ad7c7f-3790-4e91-93da-5af69b14c783</guid><dc:creator>sonus89</dc:creator><description>&lt;p&gt;Thanks!&lt;br /&gt;It wasn&amp;#39;t nrf52840_bitfields.h ...&lt;br /&gt;I just pasted your code as a function into my main.c and called it in the main function.&lt;br /&gt;It works!!!&lt;br /&gt;Now my dongles are revived. :- )&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/216801?ContentTypeID=1</link><pubDate>Fri, 25 Oct 2019 11:06:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b65a072d-1392-48aa-ad93-7a5043b5e64f</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;You need to call the following piece of code at the beginning of main:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Configure UICR_REGOUT0 register

NRF_NVMC-&amp;gt;CONFIG = NVMC_CONFIG_WEN_Wen;
while (NRF_NVMC-&amp;gt;READY == NVMC_READY_READY_Busy){} // Wait for on-going NVMC operation to complete.

NRF_UICR-&amp;gt;REGOUT0 = (NRF_UICR-&amp;gt;REGOUT0 &amp;amp; ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) |
(UICR_REGOUT0_VOUT_3V3&amp;lt;&amp;lt; UICR_REGOUT0_VOUT_Pos);

NRF_NVMC-&amp;gt;CONFIG = NVMC_CONFIG_WEN_Ren;
while (NRF_NVMC-&amp;gt;READY == NVMC_READY_READY_Busy){} 

// System reset is needed to update UICR registers.
NVIC_SystemReset();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If&amp;nbsp;&lt;span&gt;nrf52840_bitfields.h is not already included when building main.c then you need to include it.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/216460?ContentTypeID=1</link><pubDate>Wed, 23 Oct 2019 20:24:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ea5bfca-b512-450c-a8d4-5ab113bca32a</guid><dc:creator>sonus89</dc:creator><description>&lt;p&gt;Unfortunately it did not work :- (&lt;br /&gt;I need a more detailed explanation.&lt;br /&gt;I know that there is a header file called &amp;#39;nrf52840_bitfields.h&amp;#39;.&lt;br /&gt;Should I simply add the piece of code to this and rebuild my project with SEGGER ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/216250?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2019 22:00:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75f3201c-80aa-4000-84c8-8b852168666e</guid><dc:creator>sonus89</dc:creator><description>&lt;p&gt;Thank you!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/216148?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2019 11:47:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e079e3e7-8309-45d2-a609-619b5df65624</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I think it&amp;#39;s nrf52840_bitfields.h you&amp;#39;re after, located in SDK15.3\modules\nrfx\mdk.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/216021?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2019 21:41:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da94969e-842e-4cee-92b3-ba638faf8d01</guid><dc:creator>sonus89</dc:creator><description>&lt;p&gt;This is not an answer to my question as I mentioned that I have already found this.&lt;/p&gt;
&lt;p&gt;Where do I find the file which contains the code you sent me?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Recover nRF52840 dongle after UICR erase</title><link>https://devzone.nordicsemi.com/thread/215874?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2019 10:21:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:137667fe-1af5-4133-aab2-5f8af8722ec5</guid><dc:creator>haakonsh</dc:creator><description>&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Configure UICR_REGOUT0 register

NRF_NVMC-&amp;gt;CONFIG = NVMC_CONFIG_WEN_Wen;
while (NRF_NVMC-&amp;gt;READY == NVMC_READY_READY_Busy){} // Wait for on-going NVMC operation to complete.

NRF_UICR-&amp;gt;REGOUT0 = (NRF_UICR-&amp;gt;REGOUT0 &amp;amp; ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) |
(UICR_REGOUT0_VOUT_3V3&amp;lt;&amp;lt; UICR_REGOUT0_VOUT_Pos);

NRF_NVMC-&amp;gt;CONFIG = NVMC_CONFIG_WEN_Ren;
while (NRF_NVMC-&amp;gt;READY == NVMC_READY_READY_Busy){} 

// System reset is needed to update UICR registers.
NVIC_SystemReset();
&lt;/pre&gt;&lt;/p&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>