<?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>Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/43429/bootloader-resets-once-right-after-program</link><description>I am running SDK 15.2 on an nRF52840. I have programmed my secure dfu bootloader, application, settings.hex, and softdevice via jtag. During the first run after programming the bootloader runs, resets, runs, and then successfully executes my application</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 18 Feb 2019 17:57:55 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/43429/bootloader-resets-once-right-after-program" /><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/171721?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 17:57:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2dcc16da-6ab7-4a9b-a19d-f227f6cfd4a2</guid><dc:creator>Matt22</dc:creator><description>&lt;div&gt;I traced down the double reset after a flash program issue. It is actually a deliberate reset by the main app initialization code, due to using the NRF I/O pins as GPIO and not NRF.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;In system_nrf52840.c SystemInit(), line 153 checks to see if the pins are configured as GPIO. If so, it checks, then clears bit 0 of the NFCPINS register (addr 0x1000120c). When a full chip erase is performed, this bit is set by default. Due to this register being a UICR, any modifications are only implemented after a reset. So, this routine forces a chip reset at line 161.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Since the UICR is non-volatile flash, no subsequent chip power-ups or resets go through the deliberate reset.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/171367?ContentTypeID=1</link><pubDate>Fri, 15 Feb 2019 12:16:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:153325b0-6cf5-4f12-9323-68cc33299159</guid><dc:creator>Hakon</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-6db631fa08ec489f91d6d5965e98e7c1/ble_5F00_app_5F00_hrs_5F00_pca10056_5F00_s140.hex"&gt;devzone.nordicsemi.com/.../ble_5F00_app_5F00_hrs_5F00_pca10056_5F00_s140.hex&lt;/a&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-6db631fa08ec489f91d6d5965e98e7c1/secure_5F00_bootloader_5F00_ble_5F00_s140_5F00_pca10056_5F00_debug.hex"&gt;devzone.nordicsemi.com/.../secure_5F00_bootloader_5F00_ble_5F00_s140_5F00_pca10056_5F00_debug.hex&lt;/a&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-6db631fa08ec489f91d6d5965e98e7c1/settings.hex"&gt;devzone.nordicsemi.com/.../settings.hex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Try flashing these instead and see if you get the same result.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/170741?ContentTypeID=1</link><pubDate>Wed, 13 Feb 2019 04:28:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:deb96135-67f3-4650-9797-255e07efe7de</guid><dc:creator>Matt22</dc:creator><description>&lt;p&gt;I get the same results with the SDK example, secure_bootloader_ble_s140_pca10056_debug, unmodified. See the two&amp;nbsp;&lt;strong&gt;&amp;lt;info&amp;gt; app: Inside main &lt;/strong&gt;below. It appears to be trying to load the application but then fails, resets, and then successfully loads it.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;info&amp;gt; app: Inside main&lt;/strong&gt;&lt;br /&gt;&amp;lt;debug&amp;gt; app: In nrf_bootloader_init&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Settings OK&lt;br /&gt;&amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate&lt;br /&gt;&amp;lt;info&amp;gt; app: No firmware to activate.&lt;br /&gt;&amp;lt;debug&amp;gt; app: Enter nrf_dfu_app_is_valid&lt;br /&gt;&amp;lt;debug&amp;gt; app: Return true. App was valid&lt;br /&gt;&amp;lt;info&amp;gt; nrf_dfu_settings: Backing up settings page to address 0xFE000.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping&lt;strong&gt;.&amp;lt;info&amp;gt; app: Inside main&lt;/strong&gt;&lt;br /&gt;&amp;lt;debug&amp;gt; app: In nrf_bootloader_init&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Settings OK&lt;br /&gt;&amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate&lt;br /&gt;&amp;lt;info&amp;gt; app: No firmware to activate.&lt;br /&gt;&amp;lt;debug&amp;gt; app: Enter nrf_dfu_app_is_valid&lt;br /&gt;&amp;lt;debug&amp;gt; app: Return true. App was valid&lt;br /&gt;&amp;lt;info&amp;gt; nrf_dfu_settings: Backing up settings page to address 0xFE000.&lt;br /&gt;&amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.&lt;br /&gt;&amp;lt;debug&amp;gt; app: Running nrf_bootloader_app_start with address: 0x00001000&lt;br /&gt;&amp;lt;debug&amp;gt; app: Disabling interrupts. NVIC-&amp;gt;ICER[0]: 0x0&lt;br /&gt;&amp;lt;debug&amp;gt; app: running irq table set&lt;br /&gt;&amp;lt;debug&amp;gt; app: After running irq table set&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/170311?ContentTypeID=1</link><pubDate>Mon, 11 Feb 2019 10:26:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb4e5423-d6e1-468e-8530-0e8764df1f44</guid><dc:creator>Hakon</dc:creator><description>&lt;p&gt;I suggest you enable nrf_log for the bootloader, and try to find the reason for the reset by logging, if you are not already doing that. Nrf_log can be enabled in sdk_config.h.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/169962?ContentTypeID=1</link><pubDate>Thu, 07 Feb 2019 14:56:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:beab0f44-b86a-4c6a-88c9-bc0a228b6bb7</guid><dc:creator>Matt22</dc:creator><description>&lt;p&gt;There are plenty of tools to program them, nrfjprog, nrfgo studio, or just in Segger Embedded Studio as additional load files when you debug. The application can be reloaded without changing the bootloader and softdevice but if you want to go this route you probably should regenerate and program the settings.hex as it contains a CRC of the application which would change.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/169959?ContentTypeID=1</link><pubDate>Thu, 07 Feb 2019 14:52:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bc3aa880-0462-4cb0-925f-73c222639386</guid><dc:creator>Matt22</dc:creator><description>&lt;p&gt;Hi, I have tried version 4 and 5 with the same result. These are the ones that create the backup settings and I have verified that the address are&amp;nbsp;FF000 and&amp;nbsp;FE000 for the 2 settings.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/169867?ContentTypeID=1</link><pubDate>Thu, 07 Feb 2019 09:35:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29119102-f024-4f41-915b-cde108f01a4b</guid><dc:creator>Hakon</dc:creator><description>&lt;p&gt;Hello, what version of nrfutil are you using?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader Resets Once Right After Program</title><link>https://devzone.nordicsemi.com/thread/169831?ContentTypeID=1</link><pubDate>Thu, 07 Feb 2019 07:06:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78619b61-493c-4ec9-9a75-9b1cf5d45bd1</guid><dc:creator>AbhinavEV</dc:creator><description>&lt;p&gt;Hi Matt,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Could you please explain me how to program bootloader.hex, application.hex, settings.hex and softdevice simultaneously using JTAG. Are you able to update the application.hex file again and again without disturbing bootloader.hex.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am trying to develop an application and I am stuck here.&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>