<?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>BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/59977/ble-background-dfu-function-support</link><description>Hi Nordic , 
 I have a nRF52840 project development based on SDK 15.3 . Now ,I need to add DFU feature there. we suppose to use background DFU here. we will use long range( coded PHY S8), and long connection parameter . 
 form my study ,I can use IOT</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 22 Apr 2020 12:09:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/59977/ble-background-dfu-function-support" /><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/246021?ContentTypeID=1</link><pubDate>Wed, 22 Apr 2020 12:09:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f856bed5-a3c5-49e0-a58d-148a7a7c6f05</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;It looks like the issue you are facing is that the application can&amp;#39;t find any bootloader, and throws an error because of this. When you program the bootloader, and it doesn&amp;#39;t start the application, it is probably because you don&amp;#39;t have any bootloader settings matching the application.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I see that you generate some settings, but you don&amp;#39;t use the private key in the settings. Try to add it. Type the command &amp;quot;nrfutil settings generate&amp;quot; to see all possible parameters.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Perhaps you can try to import the normal error handler that is used in the SDK examples (except for the bootloader) to see what APP_ERROR_CHECK() that returned != NRF_SUCCESS. Alternatively, try to step in the code around:&lt;/p&gt;
&lt;p&gt;00&amp;gt; &amp;lt;info&amp;gt; nrf_dfu_settings: Settings backup not available from app.&lt;/p&gt;
&lt;p&gt;and see if you can find out which one it is?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/245981?ContentTypeID=1</link><pubDate>Wed, 22 Apr 2020 09:21:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80a6a075-4850-438e-a4da-1eaea345f572</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;Hi Edvin ,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are more detail for you ,&lt;/p&gt;
&lt;p&gt;&amp;lt;method for generating hex file &amp;gt;&lt;/p&gt;
&lt;p&gt;for Bootloader&amp;#39;s hex file ,I using the the example in folder&amp;nbsp;&lt;span&gt;....\examples\dfu\secure_bootloader\pca10056_ble_debug\ , and complie the hex with key value by IAR.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;then I using the mergeHex tool to get a bootloader_w_setting.hex , which only contain the setting and bootloader&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;lt;method for generating app and Softdevice file &amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Softdevice : copy from SDK folder .....\components\softdevice\s140\hex\&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Application parts&amp;nbsp; : is my development project , which has testing before . it can opeartion with softDevice, but no bootloader here .&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;lt;methodfor programming the Chip&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I tried to flash the 4 in1 hex (bootloader + bootloader setting + application + SoftDevice)file after merged by JFlash, then&amp;nbsp;&amp;nbsp;reset and run , it perfromed fail with above debug log, always reboot in bootloader.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I also tried to use nRF connect Programmer to loading the bootloader_w_setting.hex , softdevice and application to my board. it failed wiht same result as above log.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;please comment my process is anything missing or wrong ,thanks.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/245956?ContentTypeID=1</link><pubDate>Wed, 22 Apr 2020 07:30:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85e0c492-6d9e-46b9-92de-ee82f3a9f810</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;HI Edvin ,&lt;/p&gt;
&lt;p&gt;I found the solution for my UICR issue , I can write it in my application parts at first programming.&lt;/p&gt;
&lt;p&gt;Then I meet other issue during my development, I would like to do the dfu transport in my application.&lt;/p&gt;
&lt;p&gt;1. once I program the application and SoftDevice Only, it will said error like this,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;lt;error&amp;gt; app: No bootloader was found&lt;br /&gt;&amp;lt;debug&amp;gt; app: nrf_dfu_svci_vector_table_set() -&amp;gt; NRF_ERROR_NO_MEM&lt;br /&gt;&amp;lt;error&amp;gt; app: ERROR 4 [NRF_ERROR_NO_MEM] at ..\..\..\usr_BLE.c:1085&lt;br /&gt;PC at: 0x00026C6D&lt;br /&gt;&amp;lt;error&amp;gt; app: End of error report&lt;/p&gt;
&lt;p&gt;2. if I try to merge all hex file&amp;nbsp;together by mergehex tool like this .&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="bat"&gt;
nrfutil settings generate  --application application.hex  --family NRF52840  --application-version 1  --bootloader-version 1  --bl-settings-version 2 --softdevice s140_SD.hex O_bootloader_setting.hex 

:: Merge for Bootloader with mapping setting 
mergehex --merge bootloader.hex O_bootloader_setting.hex --output O_Mapped_Bootloader.hex 

:: Merge for Application and SoftDevice 
mergehex --merge s140_SD.hex application.hex --output O_App_SD.hex

:: Merge for Bootloader and SoftDevice
mergehex --merge s140_SD.hex O_Mapped_Bootloader.hex --output O_Boot_SD.hex 

:: Merge for Application , SoftDevice and Bootloader
mergehex --merge  s140_SD.hex application.hex O_Mapped_Bootloader.hex --output O_Boot_App_SD.hex
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;then , flash the new hex by jflash. I found it cannot start my application, always reboot in bootloader,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;00&amp;gt; &amp;lt;info&amp;gt; app: Inside main
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_bootloader_init
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: No firmware to activate.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; app: App is valid
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; nrf_dfu_settings: Settings backup not available from app.
00&amp;gt; 
00&amp;gt; &amp;lt;error&amp;gt; app: Received a fault! id: 0x00004002, pc: 0x00000000, info: 0x2000B500
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: Inside main
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; app: In nrf_bootloader_init
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Calling nrf_dfu_settings_init()...
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Using settings page.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Copying forbidden parts from backup page.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; app: Enter nrf_bootloader_fw_activate
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; app: No firmware to activate.
00&amp;gt; 
00&amp;gt; &amp;lt;debug&amp;gt; app: App is valid
00&amp;gt; 
00&amp;gt; &amp;lt;info&amp;gt; nrf_dfu_settings: Settings backup not available from app.
00&amp;gt; 
00&amp;gt; &amp;lt;error&amp;gt; app: Received a fault! id: 0x00004002, pc: 0x00000000, info: 0x2000B500
00&amp;gt; 
(Connection lost)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I just used the ....\examples\dfu\secure_bootloader example as my bootloader.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;so I want to know what I missing to start my application with bootloader ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;why it cannnot boot to my application?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/245176?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 09:31:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd9c2333-de37-43da-b2b4-f261fb684885</guid><dc:creator>Edvin</dc:creator><description>[quote user="Kawing"]but I try to adding the same file in bootloader part , it cannot work. my application cannot work with my setting. there is the config file I used.&amp;nbsp;[/quote]
&lt;p&gt;&amp;nbsp;What do you mean by &amp;quot;doesn&amp;#39;t work&amp;quot;. Are you not able to read the UICR? Is the value different from what you expect?&lt;/p&gt;
&lt;p&gt;Where do you write to the UICR register? Is the value correct if you try to read it using nrfjprog? Do you try to update it during runtime?&lt;/p&gt;
&lt;p&gt;You can use the command:&lt;/p&gt;
&lt;p&gt;nrfjprog --memrd 0x10001080&lt;/p&gt;
&lt;p&gt;to read UICR-&amp;gt;CUSTOMER[0]&lt;/p&gt;
&lt;p&gt;For testing, you can also write to the UICR register using:&lt;/p&gt;
&lt;p&gt;nrfjprog --memwr 0x10001080 --val 0xDEADBEEF&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You can see the different UICR registers &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52840/uicr.html?cp=4_0_0_3_4_0_2#register.CUSTOMER-0-31" rel="noopener noreferrer" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/245113?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 02:20:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:21c15ec5-61c7-4fc7-a2b6-625654620d6c</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;Thanks for reply , I work fine. I can flash the hex file by Command Line tools with Jlink now.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then , can I back to the other issue ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote userid="26071" url="~/f/nordic-q-a/59977/ble-background-dfu-function-support/244077"]&lt;blockquote class="quote"&gt;&lt;div class="quote-user"&gt;Kawing said:&lt;/div&gt;&lt;div class="quote-content"&gt;1. I want to use different bootloader with same app part for different usage, can I use the UICR file to implement that case?&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="quote-footer"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;I don&amp;#39;t understand what you mean by this.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In my design , I would like to use the UICR register customer area to save some software setting.&lt;/p&gt;
&lt;p&gt;Then once the App part starting , it can get UICR-&amp;gt;Customer[0] value to select the operation. even do the OTA , the software can working with same operation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I try to adding the config file in app part. it work fine.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;
#include &amp;quot;cus_uicr_config.h&amp;quot;

uint32_t get_NRF_UICR_CUSTOMER_SECTION (void)
{
    // if register is not write , return None type .
    return (NRF_UICR-&amp;gt;CUSTOMER[0] == 0xFFFFFFFF)?0x00:NRF_UICR-&amp;gt;CUSTOMER[0];
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;but I try to adding the same file in bootloader part , it cannot work. my application cannot work with my setting. there is the config file I used.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;so, my question is how can I write my UICR setting in code ?&lt;/p&gt;
&lt;p&gt;If I need to use bootloader function, can I adding the UICR setting in bootloader?&lt;/p&gt;
&lt;p&gt;Thank.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/cus_5F00_uicr_5F00_config.h"&gt;devzone.nordicsemi.com/.../cus_5F00_uicr_5F00_config.h&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244897?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 09:10:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee0803d8-d3da-46a3-b178-db794e3c474e</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Can you try to use &lt;a href="https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Command-Line-Tools/Download" rel="noopener noreferrer" target="_blank"&gt;nRF Command Line Tools&lt;/a&gt; to flash the merged hex file?&lt;/p&gt;
&lt;p&gt;The commands you would need to use are:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfjprog --eraseall
nrfjprog --program merged_file.hex
nrfjprog --reset&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;What happens if you try this? Does it throw any errors?&lt;/p&gt;
&lt;p&gt;What programmer do you use to program the custom PCB?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244834?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 04:01:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e61fd679-453a-4190-8806-b62ce297c14d</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;I am using the custom PCB with nRF52840 , but I can flash it with App.hex only before.&lt;/p&gt;
&lt;p&gt;Once I&amp;nbsp;merge the Bootlaoder and softwdevice, it happen fail.&lt;/p&gt;
&lt;p&gt;Bootloader and SoftDevice can been flash&amp;nbsp;&lt;em&gt;independency.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244682?ContentTypeID=1</link><pubDate>Wed, 15 Apr 2020 10:55:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65176c92-1280-4fe8-96be-4b61291005f9</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Ok, so it is a flashing problem then, I assume. It doesn&amp;#39;t have anything to do with OTA DFU, I assume?&lt;/p&gt;
&lt;p&gt;Have you tried to flash the merged hex file using nrfjprog?&lt;/p&gt;
&lt;p&gt;What HW are you trying to flash this to?&lt;/p&gt;
&lt;p&gt;I see that it is the nRF52840, but is it a Development kit, the nRF52840 dongle, or a custom PCB?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244679?ContentTypeID=1</link><pubDate>Wed, 15 Apr 2020 10:45:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ce9a833-e7b4-4f9b-b180-8e6519347815</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;1. Yes, I try to flash the .hex file. which is combine App Softdevice and the bootloader.&lt;/p&gt;
&lt;p&gt;2. No Error Message when merge file.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I generate the bootloader setting.hex by application and softdevice , and merge all bootloader, setting, Application and softdevice to one hex file. then try to flash the hex file in broad.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The upper picture is trying to flash the Hex file which merge the BOOTLOADER and SOFTDEVICE.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244629?ContentTypeID=1</link><pubDate>Wed, 15 Apr 2020 08:56:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ab412e7c-6076-4a83-9e89-fdf9fecf49ec</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;What are you trying to do when you get this error message? Are you trying to program the .hex file? What hex file is this?&lt;/p&gt;
&lt;p&gt;Are you saying that you tried to merge them using merghex? If so, did you get any error messages when trying to merge these files?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244574?ContentTypeID=1</link><pubDate>Wed, 15 Apr 2020 02:10:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e661cc6-d476-4400-aa0d-f08832b0cadd</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;Thanks for reply, I starting to build the project bootloader , I am using example/iot /bootloader as my BLE project , once I used the nrfjprog to grouping the softdevice and the bootloader , I found there is some problem in this new hex. can you help to checking the issue.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I using the nRF connect to flash the software to my broad, and I found there is a black zone. and it will fail to flash. there is the log file for the fail flashing.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1586916320535v1.png" /&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/2020_2D00_04_2D00_15T02_5F00_03_5F00_48.453Z_2D00_log.txt"&gt;devzone.nordicsemi.com/.../2020_2D00_04_2D00_15T02_5F00_03_5F00_48.453Z_2D00_log.txt&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/244077?ContentTypeID=1</link><pubDate>Wed, 08 Apr 2020 12:21:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a9cc6e0-b1e4-4ea9-a2b7-053400050163</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;We do not deliver background BLE DFU, but I know that there are other customers that have done similar solutions, so it is possible.&lt;/p&gt;
&lt;p&gt;What you would want to do is to keep the bootloader, but to move the transport of the new image to the application instead of the bootloader, right?&lt;/p&gt;
&lt;p&gt;So you need to implement a service where you can receive the init packet and firmware image generated by nrfutil, and then find out what function in the bootloader that is usually called when the init packet or the image is transferrec. I don&amp;#39;t know what that looks like in the IoT SDK bootloader (This is deprecated), but in the normal SDKs, bootloader, look for the nrf_dfu_validation_init_cmd_execute() function, which will validate the image that you have already transferred.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Kawing"]1. I want to use different bootloader with same app part for different usage, can I use the UICR file to implement that case?[/quote]
&lt;p&gt;&amp;nbsp;I don&amp;#39;t understand what you mean by this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="Kawing"]2. I used the FDS to save some setting config for my application, will dfu overwrite the setting ? if yes , how to protect the setting.[/quote]
&lt;p&gt;&amp;nbsp;Look for&amp;nbsp;NRF_DFU_APP_DATA_AREA_SIZE in sdk_config.h. Loo kat the description for this definition:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// &amp;lt;h&amp;gt; Misc DFU settings 

//==========================================================
// &amp;lt;o&amp;gt; NRF_DFU_APP_DATA_AREA_SIZE - The size (in bytes) of the flash area reserved for application data. 
// &amp;lt;i&amp;gt; This area is found at the end of the application area, next to the start of
// &amp;lt;i&amp;gt; the bootloader. This area will not be erased by the bootloader during a
// &amp;lt;i&amp;gt; firmware upgrade. The size must be a multiple of the flash page size.

#ifndef NRF_DFU_APP_DATA_AREA_SIZE
#define NRF_DFU_APP_DATA_AREA_SIZE 12288
#endif&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The FDS pages are always in the end of the application flash area, next to the bootloader. So make sure that this is large enough to cover your FDS pages. By default this is set to&amp;nbsp;12288 bytes, which is 3*4096, or 3 FDS pages, which is the same that the FDS use by default. If you increase this in your application, remember to increase this in your bootloader as well.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Background DFU function support</title><link>https://devzone.nordicsemi.com/thread/243966?ContentTypeID=1</link><pubDate>Wed, 08 Apr 2020 03:48:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bbd7d328-df34-4dc4-af06-66829327f5ad</guid><dc:creator>Kawing</dc:creator><description>&lt;p&gt;Hi Nordic ,&lt;/p&gt;
&lt;p&gt;There are few more questions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. I want to use different bootloader with same app part for different usage, can I use the UICR file to implement that case?&lt;/p&gt;
&lt;p&gt;2. I used the FDS to save some setting config for my application, will dfu overwrite the setting ? if yes , how to protect the setting.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>