<?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>Background DFU application source code</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/46994/background-dfu-application-source-code</link><description>Hi there, 
 We are designing our DFU mechanism for our system that has 4 Nordic 52840. It&amp;#39;s going to be a consumer product, so we don&amp;#39;t want the user to have to do 4 manual updates. For this reason, we are thinking to write the new application to the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 23 Jun 2023 13:01:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/46994/background-dfu-application-source-code" /><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/432705?ContentTypeID=1</link><pubDate>Fri, 23 Jun 2023 13:01:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2153bb16-5e1c-46b9-8b8a-3ab956b0ae47</guid><dc:creator>AIRAM</dc:creator><description>&lt;p&gt;Hi Vidar&amp;nbsp;&lt;br /&gt;I am trying to run the same example in nrf52832 sdk 15.3.0 but I am encountering the below error,&amp;nbsp;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1687525139771v1.png" alt=" " /&gt;&lt;br /&gt;Moreover, when I pause during debugging it stops on&amp;nbsp;&lt;span&gt;0x15xxx BF40 sev&amp;nbsp;&lt;br /&gt;I can&amp;#39;t figure out how to solve it,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/386085?ContentTypeID=1</link><pubDate>Wed, 14 Sep 2022 06:25:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b405d53e-9ed8-434d-87bd-f01db468b02e</guid><dc:creator>Harish_C_S_</dc:creator><description>&lt;p&gt;Hello all,&lt;/p&gt;
&lt;p&gt;I have tried the Background Dfu code3 provided here, I have flashed the Program using the script &amp;quot;program_bl_sd_bl_settings_52840&amp;quot; but when I try to debug using j-link viewer, I get this error.&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; &amp;lt;info&amp;gt; app: Entering DFU mode.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: NRF_DFU_EVT_DFU_INITIALIZED
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: NRF_DFU_EVT_TRANSPORT_ACTIVATED
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Application version 1
00&amp;gt; 
00&amp;gt; &amp;lt;error&amp;gt; app: ERROR 12 [NRF_ERROR_DATA_SIZE] at E:\1-Harish-new-workspace\DFU-HTTP-AZTAG\nRF_SDK_15.3.0_background_dfu_3_uart_support\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c:145
00&amp;gt; 
00&amp;gt; PC at: 0x0003E4E7
00&amp;gt; 
00&amp;gt; &amp;lt;error&amp;gt; app: End of error report
00&amp;gt; &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Hardware Used:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Follow Up Reply:

Hardware Usage

I use PCA10056

1.1.0

2019.6&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/386084?ContentTypeID=1</link><pubDate>Wed, 14 Sep 2022 06:23:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a8443b9d-6c06-4f99-b823-b239f72b30a3</guid><dc:creator>Harish_C_S_</dc:creator><description>&lt;p&gt;Follow Up Reply:&lt;/p&gt;
&lt;p&gt;Hardware Usage&lt;/p&gt;
&lt;p&gt;I use PCA10056&lt;/p&gt;
&lt;p&gt;1.1.0&lt;/p&gt;
&lt;p&gt;2019.6&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/386082?ContentTypeID=1</link><pubDate>Wed, 14 Sep 2022 06:15:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c43289f-8e10-43fe-bff8-92cb89404d0a</guid><dc:creator>Harish_C_S_</dc:creator><description>&lt;p&gt;Hello all,&lt;/p&gt;
&lt;p&gt;I have tried the Background Dfu code3 provided here, I have flashed the Program using the script &amp;quot;program_bl_sd_bl_settings_52840&amp;quot; but when I try to debug using j-link viewer, I get this error.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; &amp;lt;info&amp;gt; app: Entering DFU mode.
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: NRF_DFU_EVT_DFU_INITIALIZED
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: NRF_DFU_EVT_TRANSPORT_ACTIVATED
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Application version 1
00&amp;gt; 
00&amp;gt; &amp;lt;error&amp;gt; app: ERROR 12 [NRF_ERROR_DATA_SIZE] at E:\1-Harish-new-workspace\DFU-HTTP-AZTAG\nRF_SDK_15.3.0_background_dfu_3_uart_support\components\libraries\bootloader\serial_dfu\nrf_dfu_serial_uart.c:145
00&amp;gt; 
00&amp;gt; PC at: 0x0003E4E7
00&amp;gt; 
00&amp;gt; &amp;lt;error&amp;gt; app: End of error report
00&amp;gt; &lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/233936?ContentTypeID=1</link><pubDate>Wed, 12 Feb 2020 11:08:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:27ae80d6-4ae0-4517-a5e2-46800c3f0d9e</guid><dc:creator>Honey</dc:creator><description>&lt;p&gt;It is working. Thanks&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/VID_5F00_20200212_5F00_162951.mp4"&gt;/cfs-file/__key/communityserver-discussions-components-files/4/VID_5F00_20200212_5F00_162951.mp4&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/227135?ContentTypeID=1</link><pubDate>Tue, 31 Dec 2019 09:13:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9e0b322-833c-4253-854c-9b3c10ccee13</guid><dc:creator>Satwik</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;I have used the example code which you shared (&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-c39136cb1d7c4b7bad35f35fd7d24c96/nRF_5F00_SDK_5F00_15.3.0_5F00_background_5F00_dfu_5F00_3.zip"&gt;nRF_SDK_15.3.0_background_dfu_3.zip&lt;/a&gt;). But after doing the firmware update, after running some time its moving to the following error.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1577785442365v2.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/196778?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2019 09:42:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c0f35579-3cc5-40eb-8b13-3f690a9db084</guid><dc:creator>twittich</dc:creator><description>&lt;p&gt;Hello&lt;/p&gt;
&lt;p&gt;can i run my application byside the dfu mode in your example?&lt;/p&gt;
&lt;p&gt;I tested it already(the 52840 version) and the dfu device is there but where is the entry point so that i can add my app code or for example the blinky code ?&lt;/p&gt;
&lt;p&gt;Thanks in advance&lt;/p&gt;
&lt;p&gt;twittich&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/190164?ContentTypeID=1</link><pubDate>Fri, 31 May 2019 06:26:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df2e91b0-8e2b-4c6c-8bfc-532aa5ebd1e0</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I think you make it work if&amp;nbsp;you use the nRF52840 and have enough space in Bank 1 to store both bootloader and Softdevice.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/190056?ContentTypeID=1</link><pubDate>Thu, 30 May 2019 12:12:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7c0e0afd-6331-429e-9cbd-4e5aab50e8ae</guid><dc:creator>nrbrook</dc:creator><description>&lt;p&gt;Will it ever be possible to perform bootloader and softdevice update through the application?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/187708?ContentTypeID=1</link><pubDate>Fri, 17 May 2019 23:33:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8f28910-2d23-4779-8f92-9a0b29f58645</guid><dc:creator>Cecylia</dc:creator><description>&lt;p&gt;Hi Vidar,&amp;nbsp; I&amp;#39;ve got a new 52840 DK board (1.1.0 2019.9), and I could run the example background_dfu_3 you sent.&amp;nbsp; Thanks so much!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/187534?ContentTypeID=1</link><pubDate>Thu, 16 May 2019 12:34:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5600bd15-0bf4-4df4-8f05-7679a90ddc68</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Glad to hear that it worked on the 52832. I&amp;#39;ve fixed the issue with hashing for the 52840 port now, please see attached below (added RAM buffering in cc310_backend_hash.c).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-c39136cb1d7c4b7bad35f35fd7d24c96/nRF_5F00_SDK_5F00_15.3.0_5F00_background_5F00_dfu_5F00_3.zip"&gt;devzone.nordicsemi.com/.../nRF_5F00_SDK_5F00_15.3.0_5F00_background_5F00_dfu_5F00_3.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You have Eng. Rev A on your board, so would strongly recommend that you get a new kit, particularly if you&amp;#39;re working with the nRF USB.&lt;/p&gt;
[quote user="cecyliaw"]When you asked &amp;quot;is it possible&amp;quot;, do you mean whether the size would fit? Or, are there other consideration? &amp;nbsp;I&amp;#39;m a bit clueless on this, and&amp;nbsp;from some info I could find, it doesn&amp;#39;t seem like we have the need to use it yet.[/quote]
&lt;p&gt;&amp;nbsp;The bootloader version of the cc310 backend has a smaller feature set to reduce memory footprint. It only supports the operations I mentioned earlier. So when I asked if &amp;quot;is it possible&amp;quot;, I meant if you needed other crypto operations not available in the bootloader backend.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/187384?ContentTypeID=1</link><pubDate>Thu, 16 May 2019 00:30:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0e91e80-3a7c-4552-a8cf-53d8a6202bf9</guid><dc:creator>Cecylia</dc:creator><description>&lt;p&gt;Good news, &amp;nbsp;I could run the 52832 example on the NRF52 DK I recently received. &amp;nbsp;I had some hiccups with monitoring the logs on JLink 641a, but with JLink 6.40 I could see the LOG much better.&lt;br /&gt;&lt;br /&gt;I look at the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcomp_matrix_nrf52840%2FCOMP%2Fnrf52840%2FnRF52840_ic_revision_overview.html&amp;amp;cp=3_0_3_0"&gt;link&lt;/a&gt;&amp;nbsp;you provided and I couldn&amp;#39;t match my board. &amp;nbsp;It seems that my board most likely needs to be replaced to run newer SDK&amp;nbsp;examples. &amp;nbsp;Please let me know if you can tell which IC revision this is.&lt;br /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/52840.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;I haven&amp;#39;t tried cc310 in our existing app. &amp;nbsp;When you asked &amp;quot;is it possible&amp;quot;, do you mean whether the size would fit? Or, are there other consideration? &amp;nbsp;I&amp;#39;m a bit clueless on this, and&amp;nbsp;from some info I could find, it doesn&amp;#39;t seem like we have the need to use it yet.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Cecylia&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/187060?ContentTypeID=1</link><pubDate>Tue, 14 May 2019 16:01:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e444f5f2-c61b-4cc8-8ad2-d5d7388c3b95</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="cecyliaw"]So the NRF52DK has arrived.&amp;nbsp; But when I try it, the debugger never stops at main() function.&lt;br /&gt;Steps were:&lt;br /&gt;1) Program using&amp;nbsp;program_bl_sd_bl_settings.bat&lt;br /&gt;2) Build the&amp;nbsp;ble_app_hrs_pca10040_s132 project&lt;br /&gt;3) Ran debugger.[/quote]
&lt;p&gt;Please try to do a complete &amp;quot;re-build&amp;quot; and see if it helps. Maybe it&amp;#39;s missing the debug symbols. Otherwise, it may be the CRC validation of the app image inside the bootloader that fails, in that case, the bootloader will enter DFU mode instead of booting the app.&amp;nbsp;&lt;/p&gt;
[quote user="cecyliaw"]&lt;br /&gt;If I pause the debugger, it stops at address 0x15xxx..but showing no source file..&lt;br /&gt;And, the Teraterm at 115200 shows no log at all.&amp;nbsp;&amp;nbsp;I upload here the screenshot of trying to run the debugger.&lt;br /&gt;Should I use &amp;quot;Debug&amp;quot; or &amp;quot;Release&amp;quot; btw? Although both didn&amp;#39;t work as expected for me.[/quote]
&lt;p&gt;0x15xxx is the wait for events loop inside the Softdevice. This is where the program ends up when you call&amp;nbsp;sd_app_evt_wait(). But it&amp;#39;s hard to say if it was called from the bootloader or the app.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I used the RTT backend for logging since the UART is used for DFU (there&amp;#39;s only 1 UART on 52832). RTT logs should be shown in the console output in SES.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The scripts I made assumes that you use the &amp;quot;Debug&amp;quot; target. This target will also enable more verbose error logging, so suggest that you use this target for now.&amp;nbsp;&lt;/p&gt;
[quote user="cecyliaw"]I also made progres with the NRF52840 DK (thanks!) I ran this on the Eval board.&amp;nbsp; Btw, I&amp;#39;m not actually sure if my board is PreviewDK or just DK, I don&amp;#39;t know how to tell them apart.&amp;nbsp;&amp;nbsp;Here&amp;#39;s the project files.[/quote]
&lt;p&gt;The white sticker on the interface MCU tells you the version number of the board. Version 1.0.0 and later means that you have&amp;nbsp;a non-preview kit. However, it&amp;#39;s more important to know&amp;nbsp;what&amp;nbsp;IC revision you have. You can check the laser markings&amp;nbsp;and look up the build code here:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52840/COMP/nrf52840/nRF52840_ic_revision_overview.html?cp=3_0_3_0"&gt;https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52840/COMP/nrf52840/nRF52840_ic_revision_overview.html?cp=3_0_3_0&lt;/a&gt;. Engineering C and later should be fine.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m almost finished with porting the sample project to nRF52840. The only problem is that the final hash validation fails because the cc310 backend needs the hash&amp;nbsp;message (i.e., application image)&amp;nbsp;to reside in RAM, not FLASH. We have solved this in the bootloader by using an&amp;nbsp;immediate&amp;nbsp;RAM buffer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PCA10056 project:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-c39136cb1d7c4b7bad35f35fd7d24c96/nRF_5F00_SDK_5F00_15.3.0_5F00_background_5F00_dfu_5F00_2.zip"&gt;devzone.nordicsemi.com/.../nRF_5F00_SDK_5F00_15.3.0_5F00_background_5F00_dfu_5F00_2.zip&lt;/a&gt;&lt;/p&gt;
[quote user="cecyliaw"]But as I&amp;#39;m running the debugger, when I check again, 0xFF8 and 0xFFC become all F&amp;#39;s.[/quote]
&lt;p&gt;&amp;nbsp;SES programs the Softdevice along with the application hex, that&amp;#39;s why the addresses are being overwritten. A workaround is to disable automatic programming of the Softdevice. Have done that in the attached project.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit:&amp;nbsp;&lt;/strong&gt;Forgot to ask if&amp;nbsp;it&amp;#39;s possible to use the cc310 bootloader backend in your existing app? That would fix the problem with hashing. It supports the&amp;nbsp;&lt;span&gt;secp256r1 and&amp;nbsp;secp224r1 curve for ECC, and sha256.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/186804?ContentTypeID=1</link><pubDate>Tue, 14 May 2019 02:37:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5159241e-1d4c-4d92-80c9-05a6831975eb</guid><dc:creator>Cecylia</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;br /&gt;&lt;br /&gt;So the NRF52DK has arrived.&amp;nbsp; But when I try it, the debugger never stops at main() function.&lt;br /&gt;Steps were:&lt;br /&gt;1) Program using&amp;nbsp;program_bl_sd_bl_settings.bat&lt;br /&gt;2) Build the&amp;nbsp;ble_app_hrs_pca10040_s132 project&lt;br /&gt;3) Ran debugger.&lt;br /&gt;&lt;br /&gt;If I pause the debugger, it stops at address 0x15xxx..but showing no source file..&lt;br /&gt;And, the Teraterm at 115200 shows no log at all.&amp;nbsp;&amp;nbsp;I upload here the screenshot of trying to run the debugger.&lt;br /&gt;Should I use &amp;quot;Debug&amp;quot; or &amp;quot;Release&amp;quot; btw? Although both didn&amp;#39;t work as expected for me.&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/cantdebug.mp4"&gt;devzone.nordicsemi.com/.../cantdebug.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I also made progres with the NRF52840 DK (thanks!) I ran this on the Eval board.&amp;nbsp; Btw, I&amp;#39;m not actually sure if my board is PreviewDK or just DK, I don&amp;#39;t know how to tell them apart.&amp;nbsp;&amp;nbsp;Here&amp;#39;s the project files.&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/pca10056.zip"&gt;devzone.nordicsemi.com/.../pca10056.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It shows some printfs on Teraterm, but it&amp;nbsp;has issue with the Bootloader address so it fails to continue.&lt;br /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/appbootloader.png" /&gt;&lt;br /&gt;&lt;br /&gt;After I program with&amp;nbsp;&lt;span&gt;program_bl_sd_bl_settings, 0xFF8 shows the right address.&lt;br /&gt;&amp;gt;nrfjprog --memrd 0xff8 --n 100&lt;br /&gt;0x00000FF8: &lt;strong&gt;00078000 0007E000&lt;/strong&gt; 20001380 00024B19 |........... .K..|&lt;br /&gt;0x00001008: 0000C005 00024A7F 0000C005 0000C005 |.....J..........|&lt;br /&gt;0x00001018: 0000C005 00000000 00000000 00000000 |................|&lt;br /&gt;0x00001028: 00000000 00024B75 0000C005 00000000 |....uK..........|&lt;br /&gt;0x00001038: 0000C005 0000C005 00024BDD 00024BE3 |.........K...K..|&lt;br /&gt;0x00001048: 0000C005 0000C005 0000C005 0000C005 |................|&lt;br /&gt;0x00001058: 0000C005 |....|&lt;br /&gt;&lt;br /&gt;But as I&amp;#39;m running the debugger, when I check again, 0xFF8 and 0xFFC become all F&amp;#39;s.&lt;br /&gt;&amp;gt;nrfjprog --memrd 0xff8 --n 100&lt;br /&gt;0x00000FF8: FFFFFFFF FFFFFFFF 20001380 000257B1 |........... .W..|&lt;br /&gt;0x00001008: 0000C069 00025717 0000C069 0000C069 |i....W..i...i...|&lt;br /&gt;0x00001018: 0000C069 00000000 00000000 00000000 |i...............|&lt;br /&gt;0x00001028: 00000000 0002580D 0000C069 00000000 |.....X..i.......|&lt;br /&gt;0x00001038: 0000C069 0000C069 00025875 0002587B |i...i...uX..{X..|&lt;br /&gt;0x00001048: 0000C069 0000C069 0000C069 0000C069 |i...i...i...i...|&lt;br /&gt;0x00001058: 0000C069 |i...|&lt;br /&gt;&lt;br /&gt;Please let me know how to proceed.&amp;nbsp; Thanks &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/186418?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 12:15:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b70d7a51-6e08-484d-8825-38a858b73059</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I &amp;nbsp;think you can use the ble_app_hrs example for PCA10056 as a starting point and add the&amp;nbsp;following files to&amp;nbsp;your&amp;nbsp; *.ewp file:&lt;/p&gt;
&lt;p&gt;&amp;lt;folder Name=&amp;quot;nRF_Serial_DFU&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;/folder&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;folder Name=&amp;quot;nRF_DFU&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_settings.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/dfu-cc.pb.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_handling_error.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_mbr.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_req_handler.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/serial_dfu/nrf_dfu_serial_uart.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_transport.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_utils.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_validation.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../nrf_dfu_flash.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;/folder&amp;gt;&lt;br /&gt; &amp;lt;folder Name=&amp;quot;nano-pb&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../external/nano-pb/pb_common.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;file file_name=&amp;quot;../../../../../../external/nano-pb/pb_decode.c&amp;quot; /&amp;gt;&lt;br /&gt; &amp;lt;/folder&amp;gt;&lt;/p&gt;
&lt;p&gt;Then replace main.c file&amp;nbsp;with the one from&amp;nbsp;the other project. You also need to copy the DFU configuration from the sdk_config.h file. Just let me know if you run into any problems, I can probably help with porting next week if neccessary.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/186046?ContentTypeID=1</link><pubDate>Thu, 09 May 2019 03:20:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c12dc18d-b3f6-4b3f-817f-66c0a31e157a</guid><dc:creator>Cecylia</dc:creator><description>&lt;p&gt;Hi Vidar, I don&amp;#39;t have a DK, and Segger SES is kind of new for me actually (we&amp;#39;re mostly using IAR).&amp;nbsp; I&amp;#39;m ordering one nRF52-DK that will arrive in 2 days.&amp;nbsp; But in the meantime do you have some pointers on how to try to change the linker settings so I can try it on 52840?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/185896?ContentTypeID=1</link><pubDate>Wed, 08 May 2019 09:49:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ddba47d3-6466-439c-80bf-6f81052147ea</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve uploaded the project to the other thread. It&amp;#39;s configured for the 52832, so some porting will be required to make it run on the 52840 (mainly linker settings). Do you have a nRF52 DK to test with so you can&amp;nbsp;verify that everything&amp;nbsp;works first?&lt;/p&gt;
[quote user="cecyliaw"]For the app side, porting the bootloader code to &amp;quot;copy the DFU request handling&amp;quot; from the app seems very involved. So, I&amp;#39;m thinking to just manually copy the new FW to the flash chunk by chunk (and do simple CRC check). Will this be enough?[/quote]
&lt;p&gt;I think would be easier to re-use the &amp;quot;dfu&amp;quot; files from the bootloader. This&amp;nbsp;gives you support for FW signing, and you will not have to modify the existing bootloader. The remaining task will then be to create a custom DFU transport to be used by the app.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/185810?ContentTypeID=1</link><pubDate>Wed, 08 May 2019 01:45:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:524372b4-04bd-4b5f-a954-671360825407</guid><dc:creator>Cecylia</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;Thanks for your prompt response!&lt;/p&gt;
&lt;p&gt;For the app side, porting the bootloader code to &amp;quot;copy the DFU request handling&amp;quot; from the app seems very involved. So, I&amp;#39;m thinking to just manually copy the new FW to the flash chunk by chunk (and do simple CRC check). Will this be enough?&lt;/p&gt;
&lt;p&gt;Or, will I also need to update the Bootloader Settings to notify the Bootloader that there&amp;#39;s image in Bank 1?&lt;/p&gt;
&lt;p&gt;The bootloader that I have in mind is very similar to what you wrote &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/46336/bootloader-no-transport-dual-bank-dfu-and-dependencies"&gt;on the other ticket&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;1. Checks to see if should enter DFU mode or not (I already have this working via USB)&lt;br /&gt;2. Check if there are any new FW images to activate (could be an image that the app has stored).&lt;br /&gt;3. If dfu_enter == true, initialize transport and wait for DFU master to initiate a DFU&lt;br /&gt;4. if dfu_enter == false, verify CRC of app image and boot the app.&lt;/p&gt;
&lt;p&gt;I notice &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/46336/bootloader-no-transport-dual-bank-dfu-and-dependencies"&gt;in the other ticket&lt;/a&gt; that you will release a sample bootloader that can validate FW in flash. I&amp;#39;ll probably wait for that also because I&amp;#39;m not sure how to tell the bootloader that there&amp;#39;s a&amp;nbsp;new FW image to activate.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Background DFU application source code</title><link>https://devzone.nordicsemi.com/thread/185760?ContentTypeID=1</link><pubDate>Tue, 07 May 2019 13:57:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3868ccba-369d-471a-a738-34e8d09ee67d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;The install folder is the same as &amp;quot;SDK root&amp;quot;, so&amp;nbsp;\nRF5_SDK_15.3.0_59ac345\examples\iot\bootloader. What you need to do is to copy the DFU request handling from the bootloader to the application, then make your own custom ESB/WIFI transport layer for DFU. The transport layer requirements are outlined in the Bootloader documentation here:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/lib_dfu_transport.html?cp=5_0_3_5_2"&gt;https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/lib_dfu_transport.html?cp=5_0_3_5_2&lt;/a&gt;. The same bootloader is also used in our thread/zigbee SDK for background DFU, so may use those as a reference.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Another relevant&amp;nbsp;thread&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/46336/bootloader-no-transport-dual-bank-dfu-and-dependencies"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/46336/bootloader-no-transport-dual-bank-dfu-and-dependencies&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>