<?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>FOTA Upgrade from SDK 15.2 to 17.0</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/75255/fota-upgrade-from-sdk-15-2-to-17-0</link><description>Hi, 
 We have a working application that allows FOTA when using the SDK 15.2 bootloader. We have recently tried to migrate this to SDK 17.0, and everything works except for the FOTA capabilities. 
 The ability to receive and process the new firmware still</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 21 May 2021 19:41:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/75255/fota-upgrade-from-sdk-15-2-to-17-0" /><item><title>RE: FOTA Upgrade from SDK 15.2 to 17.0</title><link>https://devzone.nordicsemi.com/thread/311141?ContentTypeID=1</link><pubDate>Fri, 21 May 2021 19:41:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eeb0c3ad-6575-49bc-9518-d1926b2a2761</guid><dc:creator>Alberto2033</dc:creator><description>&lt;p&gt;Hi Hung,&lt;br /&gt;&lt;br /&gt;Thanks for the guidance.&lt;br /&gt;I&amp;#39;ve finally found this related thread useful:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/69006/custom-dfu-process"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/69006/custom-dfu-process&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Give we are directly writing to bank_1 the information of the upgrade image, I had to update the nrf_dfu_settings.c file with:&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void settings_forbidden_parts_copy_from_backup(uint8_t * p_dst_addr)
{
#if NRF_DFU_IN_APP || NRF_BL_DFU_ALLOW_UPDATE_FROM_APP
    REGION_COPY_BY_MEMBER(settings_version, bank_current, p_dst_addr);
    REGION_COPY_BY_MEMBER(bank_0, bank_1, p_dst_addr);
    REGION_COPY_BY_MEMBER(sd_size, progress, p_dst_addr);
    REGION_COPY_BY_MEMBER(boot_validation_crc, peer_data, p_dst_addr);
#else
    REGION_COPY_BY_MEMBER(settings_version, enter_buttonless_dfu, p_dst_addr);
    REGION_COPY_BY_MEMBER(init_command, peer_data, p_dst_addr);
#endif
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;REGION_COPY_BY_MEMBER(bank_0,&amp;nbsp;write_offset, p_dst_addr); is the standard SDK file.&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;Alberto&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Upgrade from SDK 15.2 to 17.0</title><link>https://devzone.nordicsemi.com/thread/310535?ContentTypeID=1</link><pubDate>Wed, 19 May 2021 15:32:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:923a4157-b062-437b-8c2d-9e903ad3794d</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Thanks for clarification.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have you checked after your app switch to the bootloader the bootloader setting has been written correctly ?&amp;nbsp;&lt;br /&gt;I think it can be solved easily by stepping into the bootloader code or printing out the log and check why the bootloader doesn&amp;#39;t activate the app.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Most likely it&amp;#39;s the bootloader setting was not written correctly.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Upgrade from SDK 15.2 to 17.0</title><link>https://devzone.nordicsemi.com/thread/310468?ContentTypeID=1</link><pubDate>Wed, 19 May 2021 13:09:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:286a3c15-14c9-447a-8d31-01080dea54bf</guid><dc:creator>Alberto2033</dc:creator><description>&lt;p&gt;Hi Hung,&lt;br /&gt;&lt;br /&gt;Thanks for getting back to me.&lt;br /&gt;&lt;br /&gt;We are, in fact, receiving the new firmware image from the application. The FOTA snippet I included is from a part of our application. We run a mesh OS that allows distributing the firmware update image to the nodes of the network and stores it in flash memory (writing from __SwapStart).&lt;br /&gt;&lt;br /&gt;As far as I&amp;#39;m aware, we ran an unmodified SDK v15.2 bootloader and are now using an unmodified SDK v17.0 bootloader.&lt;br /&gt;I will confirm this shortly.&lt;br /&gt;&lt;br /&gt;As for why does the bootloader don&amp;#39;t activate the app, when the postvalidate routine is executed, there is no command stored, and it reverts to the old image.&lt;br /&gt;&lt;br /&gt;Best wishes&lt;br /&gt;Alberto&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: FOTA Upgrade from SDK 15.2 to 17.0</title><link>https://devzone.nordicsemi.com/thread/310462?ContentTypeID=1</link><pubDate>Wed, 19 May 2021 13:00:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d59f8cd6-613f-42ec-9677-e00f6a40e216</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Alberto,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you give some more information about your bootloader ? I assume you have done some modification to the bootloader ? and you are porting the bootloader in SDK v15.2 to SDK v17.0 instead of modifying the bootloader in SDK v17.0 ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Have you tried to step into the&amp;nbsp;nrf_bootloader_fw_activate() function and check why it doesn&amp;#39;t activate the app ?&amp;nbsp;&lt;br /&gt;I don&amp;#39;t think turning on&amp;nbsp;&lt;span&gt;NRF_BL_DFU_ALLOW_UPDATE_FROM_APP would be correct here. This option is used to enable receiving image by the app and then only activate image using the bootloader.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>