<?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>How to update software using the bootloader?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/52594/how-to-update-software-using-the-bootloader</link><description>Hello! 
 I use a usb secure bootloader with MBR (without SD) for update my application via USB. Also, my application receives new firmware via GSM modem and saves it to an external flash. After receiving the update, I check it and write it to the internal</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 26 Sep 2019 12:46:35 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/52594/how-to-update-software-using-the-bootloader" /><item><title>RE: How to update software using the bootloader?</title><link>https://devzone.nordicsemi.com/thread/212062?ContentTypeID=1</link><pubDate>Thu, 26 Sep 2019 12:46:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c07313b6-6342-4322-a11b-120f17eaf50b</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Valery,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I assume that you have done the part to copy the image from external flash to bank 1 in the internal flash in your application.&lt;/p&gt;
&lt;p&gt;Now you just need to trigger the bootloader to swap the image.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is very similar to what we have in our&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/iot_sdk_app_tftp_dfu.html?cp=5_1_4_2_4_9_2"&gt; IOT background DFU &lt;/a&gt;where the image is received via TFTP and the application trigger a reset so the bootloader can swap the image.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you have a look inside the example especially those inside&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #if NRF_DFU_IN_APP . These are the part of the code that used in background DFU (in the application).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also pay attention to&amp;nbsp; #if NRF_BL_DFU_ALLOW_UPDATE_FROM_APP in the code (in nrf_bootloader.c and nrf_dfu_settings.c) .(&amp;nbsp;&lt;span&gt;NRF_BL_DFU_ALLOW_UPDATE_FROM_APP&amp;nbsp;&lt;/span&gt; should be set to 1) It&amp;#39;s where the bootloader validates the image it have to swap.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>