<?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>nfr bootloader bl-settings-version</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/99371/nfr-bootloader-bl-settings-version</link><description>Hi, I have an application with a bootloader. I used to work with SDK 15 and recently upgraded to SDK17. I forgot to change the bootloader settings commands, so I left --bl-settings-version 1 and downloaded the application to the nfr52840. I received no</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 May 2023 13:55:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/99371/nfr-bootloader-bl-settings-version" /><item><title>RE: nfr bootloader bl-settings-version</title><link>https://devzone.nordicsemi.com/thread/424030?ContentTypeID=1</link><pubDate>Fri, 05 May 2023 13:55:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:48f14fa9-588d-4098-9c29-458d72bdeb73</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi LSz,&lt;/p&gt;
&lt;p&gt;What specific version of nRF SDK v15 did you use?&amp;nbsp;If I understand correctly,&amp;nbsp;the bootloader on the device is still from that SDK v15.x.0 version, right?&lt;/p&gt;
&lt;p&gt;From &lt;a href="https://infocenter.nordicsemi.com/topic/ug_nrfutil/UG/nrfutil/nrfutil_settings_generate_display.html"&gt;the Generating and displaying bootloader settings page&lt;/a&gt; of the nRF Util documentation:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;The --bl-settings-version depends on the SDK version:&lt;/p&gt;
&lt;table style="border-color:rgba(0, 0, 0, 1);margin-left:30px;"&gt;
&lt;tbody style="padding-left:30px;"&gt;
&lt;tr style="padding-left:30px;"&gt;
&lt;td style="padding-left:30px;"&gt;&lt;strong&gt;SDK version&lt;/strong&gt;&lt;/td&gt;
&lt;td style="padding-left:30px;"&gt;&lt;strong&gt;BL settings version&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="padding-left:30px;"&gt;
&lt;td style="padding-left:30px;"&gt;&amp;lt;=12.0&lt;/td&gt;
&lt;td style="padding-left:30px;"&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="padding-left:30px;"&gt;
&lt;td style="padding-left:30px;"&gt;&amp;gt;=15.3.0&lt;/td&gt;
&lt;td style="padding-left:30px;"&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="padding-left:30px;"&gt;Table 2. SDK and BL settings versions&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;The DFU bootloader settings version supported and used by your selected SDK is listed in the &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;nrf_dfu_types.h&lt;/span&gt; file in the &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;bootloader&lt;/span&gt; library. Even though bootloaders compiled from an nRF5 SDK 15.3.0 or later can only use version 2, they can be configured to support a version 1 settings page. When a new bootloader with a version 1 settings page boots, the bootloader translates the settings page to version 2 before booting. If a version 2 settings page is used, boot validation for SoftDevice and Application can be generated with the settings page using the &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;--sd-boot-validation&lt;/strong&gt;&lt;/span&gt; and &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;strong&gt;--app-boot-validation&lt;/strong&gt;&lt;/span&gt; commands.&lt;/p&gt;
&lt;p&gt;Please take a dive into nrf_dfu_types.h of your &lt;em&gt;&lt;strong&gt;bootloader&lt;/strong&gt;&lt;/em&gt; SDK version and see if settings version 1 is supported. If you still have any questions, please let me know and I will investigate with you. I am out of office for the next three working days so it will have to be around the later half of next week. My apology for the inconvenience.&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nfr bootloader bl-settings-version</title><link>https://devzone.nordicsemi.com/thread/423788?ContentTypeID=1</link><pubDate>Thu, 04 May 2023 12:50:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa62d310-66ab-40f1-a0d2-b89d9dbbb6f1</guid><dc:creator>mrono</dc:creator><description>&lt;p&gt;I checked my old commits and see now that what I did was a different mistake. I forgot to update&amp;nbsp;NRF_DFU_SETTINGS_VERSION when migrating my bootloader project to the newer SDK. That got me in trouble.&lt;/p&gt;
&lt;p&gt;Here is the bootloader code for handling an old settings version:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    if (NRF_DFU_SETTINGS_COMPATIBILITY_MODE &amp;amp;&amp;amp; !NRF_DFU_IN_APP &amp;amp;&amp;amp; (s_dfu_settings.settings_version == 1))
    {
        NRF_LOG_INFO(&amp;quot;Old settings page detected. Upgrading info.&amp;quot;);

        // Old version. Translate.
        memcpy(&amp;amp;s_dfu_settings.peer_data, (uint8_t *)&amp;amp;s_dfu_settings + DFU_SETTINGS_BOND_DATA_OFFSET_V1, NRF_DFU_PEER_DATA_LEN);
        memcpy(&amp;amp;s_dfu_settings.adv_name,  (uint8_t *)&amp;amp;s_dfu_settings + DFU_SETTINGS_ADV_NAME_OFFSET_V1,  NRF_DFU_ADV_NAME_LEN);

        // Initialize with defaults.
        s_dfu_settings.boot_validation_softdevice.type = NO_VALIDATION;
        s_dfu_settings.boot_validation_app.type        = VALIDATE_CRC;
        s_dfu_settings.boot_validation_bootloader.type = NO_VALIDATION;
        memcpy(s_dfu_settings.boot_validation_app.bytes, &amp;amp;s_dfu_settings.bank_0.image_crc, sizeof(uint32_t));

        s_dfu_settings.settings_version = NRF_DFU_SETTINGS_VERSION;
    }
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;So it auto-updates the settings page. Only some validation options are set to default values.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nfr bootloader bl-settings-version</title><link>https://devzone.nordicsemi.com/thread/423774?ContentTypeID=1</link><pubDate>Thu, 04 May 2023 12:22:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:375e033c-6ae9-4262-952a-9cecb7acd1f7</guid><dc:creator>LSz</dc:creator><description>&lt;p&gt;I updated everything except the&amp;nbsp;&lt;span&gt;bl-settings-version 1.&lt;br /&gt;There aren&amp;#39;t any problems that I can see.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nfr bootloader bl-settings-version</title><link>https://devzone.nordicsemi.com/thread/423761?ContentTypeID=1</link><pubDate>Thu, 04 May 2023 11:51:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6a740a9-495d-42b6-9959-a942f13af67f</guid><dc:creator>mrono</dc:creator><description>&lt;p&gt;I made the same mistake when I first upgraded to SDK17. There was a serious problem, but I have forgotten what exactly.&lt;/p&gt;
&lt;p&gt;Just to clarify, have you also updated the bootloader to the one from SDK17? I think this is where you&amp;#39;ll run into issues. For instance check if you are now able to update the bootloader again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>