<?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>Update SD+BL+APP from SDK v12 to v14 DFU fails</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/40720/update-sd-bl-app-from-sdk-v12-to-v14-dfu-fails</link><description>While migrating from SDK 12.2 to SDK 14.2 DFU fails while flashing application and the pages assigned get in the switch case of FDS_PAGE_UNDEFINED always ,thus jumping from one page to next and not finding anything on the pages assigned. 
 It always finds</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 22 Nov 2018 08:50:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/40720/update-sd-bl-app-from-sdk-v12-to-v14-dfu-fails" /><item><title>RE: Update SD+BL+APP from SDK v12 to v14 DFU fails</title><link>https://devzone.nordicsemi.com/thread/158560?ContentTypeID=1</link><pubDate>Thu, 22 Nov 2018 08:50:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d87d6c08-2272-42be-ac0d-a25cf0f0a875</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;The bootloader start address is stored in the NRFFW[0] UICR register ( 0x10001014). This register is flashed with the bootloader start address when the bootloader is flashed to the board, see nrf_bootloader_info.c&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#if defined (__CC_ARM )
    #pragma push
    #pragma diag_suppress 1296
    uint32_t  m_uicr_bootloader_start_address __attribute__((at(NRF_UICR_BOOTLOADER_START_ADDRESS)))
                                                    = BOOTLOADER_START_ADDR;
    #pragma pop
#elif defined ( __GNUC__ ) || defined ( __SES_ARM )
    volatile uint32_t m_uicr_bootloader_start_address  __attribute__ ((section(&amp;quot;.uicr_bootloader_start_address&amp;quot;)))
                                            = BOOTLOADER_START_ADDR;
#elif defined ( __ICCARM__ )
    __root    const uint32_t m_uicr_bootloader_start_address @ NRF_UICR_BOOTLOADER_START_ADDRESS
                                            = BOOTLOADER_START_ADDR;
#endif
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Note: The bootloader start address cannot change between the update from SDK 12.2.0 to SDK v14.2, it must be identical for the old and new bootloader.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Update SD+BL+APP from SDK v12 to v14 DFU fails</title><link>https://devzone.nordicsemi.com/thread/158531?ContentTypeID=1</link><pubDate>Thu, 22 Nov 2018 06:31:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ded9331-a3b8-4da6-b518-ceb13b604154</guid><dc:creator>Gaurav</dc:creator><description>&lt;p&gt;I debugged and found out that its not able to read the bootloader_start_Address properly thats why its setting it to 0x80000 which probably is wrong.&lt;/p&gt;
&lt;p&gt;And in the debugging mode I am getting the error as BOOTLOADER_NOT_VERIFIED&lt;/p&gt;
&lt;p&gt;and its showing BL_ADDRESS as 0x23000 which is the application address.&lt;/p&gt;
&lt;p&gt;I am still not sure from where its reading the bootloader start address&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Update SD+BL+APP from SDK v12 to v14 DFU fails</title><link>https://devzone.nordicsemi.com/thread/158353?ContentTypeID=1</link><pubDate>Wed, 21 Nov 2018 09:47:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:917e9b89-670d-40b7-9a5c-52ca06ff2c73</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Gaurav,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;just to confirm, you&amp;#39;re using the nRF52832?&lt;/p&gt;
&lt;p&gt;Setting the&amp;nbsp;&lt;span&gt;FDS_VIRTUAL_PAGE_SIZE to 2 means that each FDS page is 8kB(2048*4bytes). So with the&amp;nbsp;FDS_VIRTUAL_PAGES set to 5, FDS will&amp;nbsp;use in total 40kB(5*8kB) for flash storage and will need minimum 16kB(2 virtual pages), i.e. 4 flash pages of 4kB each, free between the bootloader and the application.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So the default bootloader start address in SDK v14.2.0 is&amp;nbsp;0x78000, which means that the application end address must be&amp;nbsp;0x78000-0x4000= 0x74000 to meet the minimum requirement from FDS. Ideally you need to allocate the entire 40kB if you do not want FDS to overwrite the application( given that the application uses all the available flash between the application start address and the BL start address -&amp;nbsp;FDS_VIRTUAL_PAGES*FDS_VIRTUAL_PAGE_SIZE&amp;nbsp;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Bjørn&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>