<?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>OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/125068/ota-dfu-of-identical-bootloader-zip-package-fails-to-relaunch-the-new-bootloader</link><description>I am running the boot loader with the default name &amp;#39;DfuTarg&amp;#39; on a Nordic NRF52840 board very similar to the PA10056. I download this boot loader to the board, connect to it using NRF Connect app on my Pixel phone, and select the DFU icon. I then select</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 27 Nov 2025 05:47:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/125068/ota-dfu-of-identical-bootloader-zip-package-fails-to-relaunch-the-new-bootloader" /><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/555566?ContentTypeID=1</link><pubDate>Thu, 27 Nov 2025 05:47:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ff798ad3-a5ef-4c2f-8802-b33df4477d99</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I&amp;#39;m glad to hear you found the problem. Thank you for the update.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/555565?ContentTypeID=1</link><pubDate>Thu, 27 Nov 2025 05:30:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1512c6f-2319-4fd8-b1a4-f5c65ef1fa67</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Looks like the failures were due to a couple of issues with our firmware design. Here is the summary:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;We have a small algorithm that runs when the Central device requests our device to boot into DFU mode. This algorithm checks the current boot loader to determine if it has the correct values at specific flash memory locations (known a priori from an offline analysis of the boot loader program). One such address was invalid and the memory read generated a hardware fault. As a result, the application would reboot from the hard fault handler -- but in NORMAL BOOT mode and NOT in DFU mode.&lt;/li&gt;
&lt;li&gt;The address trap values written to the FPB register was wrong. Consequently the &amp;#39;flash patch&amp;#39; was never being triggered and applied when the boot loader was executing.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Addressing and fixing the above two bugs allowed me to update the boot loader with OTA DFU from a BLE Central device.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;RVM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/554370?ContentTypeID=1</link><pubDate>Fri, 14 Nov 2025 10:49:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:87b378e0-b1ac-4101-8dfe-8952208cc433</guid><dc:creator>Vidar Berg</dc:creator><description>[quote user="RMV"]I am trying to get an RTT viewer to connect and display messages from the boot loader and the application, but am not having much luck. I suspect, based on my own understanding of the RTT mechanism, and from snippets of wisdom I have seen around the DevZone and/or the internet in general, that the RTT control blocks are different between the boot loader and application builds and therefore the RTT viewer client gets confused (rightfully so).&amp;nbsp;[/quote]
&lt;p&gt;Correct, the RTT buffer is kept in RAM and is not linked to a fixed location, so it is likely being overwritten by the application&amp;#39;s startup code. But would it be an idea to just try the original SDK bootloader (debug variant) on a development kit just to check whether the behavior is the same or not? I&amp;#39;m not sure I really understand what you are experiencing now with the bootloader. But I don&amp;#39;t think I have seen other reports of this.&amp;nbsp;I definitely&amp;nbsp;haven&amp;#39;t experienced it myself.&lt;/p&gt;
[quote user="RMV"]The only way I could get the entire program to link was if I expanded the boot loader to start at 0xF4000 (for NRF_LOG_LEVEL_3) or 0xF1000 (for NRF_LOG_LEVEL_4). This is really problematic at such a late stage in our product lifecycle since we have a history of using the page just below the default boot loader start address as a static, non-volatile, customer facing configuration region.&amp;nbsp;[/quote]
&lt;p&gt;But is this a problem if you are only doing a &amp;quot;debug&amp;quot; build? The release configuration can still have the default start address.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/554183?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 19:01:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:57545d76-394d-4fc2-adf8-6d8c6d71b1ad</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;FYI, There is one more thing I want to point out here.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am unable to link and create a &amp;#39;debug&amp;#39; build of the Nordic boot loader on my NRF52840 board if I stick with the boot loader memory layout as suggested in Nordic memory map i.e. start at 0xF8000.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The only way I could get the entire program to link was if I expanded the boot loader to start at 0xF4000 (for NRF_LOG_LEVEL_3) or 0xF1000 (for NRF_LOG_LEVEL_4). This is really problematic at such a late stage in our product lifecycle since we have a history of using the page just below the default boot loader start address as a static, non-volatile, customer facing configuration region.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/554182?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 18:52:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91c54ca1-8e77-4285-8ef8-2273fdd76e5b</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;I am trying to get an RTT viewer to connect and display messages from the boot loader and the application, but am not having much luck. I suspect, based on my own understanding of the RTT mechanism, and from snippets of wisdom I have seen around the DevZone and/or the internet in general, that the RTT control blocks are different between the boot loader and application builds and therefore the RTT viewer client gets confused (rightfully so).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Can you suggest how I can work around this issue ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/554181?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 18:50:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b0ee7d6-452a-4b1a-8a2c-fa2c7715d592</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Our application firmware queries the boot loader for its version (i.e. static access to the location of a static FLASH ROM based symbol in the boot loader) and adjusts a bit field in the BLE advertisement it sends out periodically.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/554138?ContentTypeID=1</link><pubDate>Wed, 12 Nov 2025 14:11:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:830dfdbc-6915-4064-a24a-d0782afab439</guid><dc:creator>Vidar Berg</dc:creator><description>[quote user="RMV"]The phone application successfully reboots the buttonless DFU app into boot loader but does not appear to stay connected long enough to perform any data transter (at least does not appear to be doing so). The remote device continuosly keeps disconnecting and the NRF Connect app on my android phone continuously attempts to connect to the DFU target device.[/quote]
&lt;p&gt;Is there any disconnect reason given in the log from the phone or target device? Also, are you doing buttonless DFU with our without bond sharing&amp;nbsp; (see &lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/service_dfu.html"&gt;https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/service_dfu.html&lt;/a&gt;)?&lt;/p&gt;
[quote user="RMV"]Ten minutes later, I fire it up and scan the BLE target device and it &amp;quot;SHOWS THE NEW BOOTLOADER IS ACTIVE&amp;quot;.&amp;nbsp;[/quote]
&lt;p&gt;Does it remain stuck in bootloader DFU mode? It&amp;#39;s supposed to time out (2 min by default) and boot back into the application. Also, for my understanding, how is it determined that the new bootloader is executing?&lt;/p&gt;
[quote user="RMV"]This is very strange -- why does the phone app keep attempting to connecting to the BLE device even though the remote has SUCCESSFULLY UPDATED THE BOOTLOADER?[/quote]
&lt;p&gt;It sounds strange yes, and I&amp;#39;m not sure I understand what is actually happening in the background here.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/554035?ContentTypeID=1</link><pubDate>Tue, 11 Nov 2025 22:57:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c8c8faac-f6ae-46a5-9ad1-dc934ff6f368</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Following up on the previous observations,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am now attempting to download a newer boot loader (just the boot loader and NOT the SD+MBR and NOT the Application).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I connect to the buttonless DFU app via the Nordic Connect application on my Android phone. &lt;br /&gt;I then launch the DFU process and set the Boot loader ZIP package file generated via the usual workflow that uses the &amp;#39;nrfutil pkg generate&amp;#39; command.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The phone application successfully reboots the buttonless DFU app into boot loader but does not appear to stay connected long enough to perform any data transter (at least does not appear to be doing so). The remote device continuosly keeps disconnecting and the NRF Connect app on my android phone continuously attempts to connect to the DFU target device.&lt;/p&gt;
&lt;p&gt;I got frustrated and shut down the NRF Connect application on my phone.&amp;nbsp;Ten minutes later, I fire it up and scan the BLE target device and it &amp;quot;SHOWS THE NEW BOOTLOADER IS ACTIVE&amp;quot;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is very strange -- why does the phone app keep attempting to connecting to the BLE device even though the remote has SUCCESSFULLY UPDATED THE BOOTLOADER?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;RVM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/551985?ContentTypeID=1</link><pubDate>Mon, 20 Oct 2025 16:58:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7126b41-7976-48be-90c4-18ef6578c1e6</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I&amp;#39;m afraid I don&amp;#39;t have an explanation for why you are not seeing the same with the application present.&lt;/p&gt;
[quote userid="86158" url="~/f/nordic-q-a/125068/ota-dfu-of-identical-bootloader-zip-package-fails-to-relaunch-the-new-bootloader/551974"]Our boot loader protects itself from modification so I do not expect the new firmware to be actually written to the device.[/quote]
&lt;p&gt;You bootloader should issue the&amp;nbsp;&lt;span&gt;SD_MBR_COMMAND_COPY_BL command&lt;/span&gt;&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/sds_s140/page/SDS/s1xx/mbr_bootloader/mbr.html"&gt;MBR&lt;/a&gt;&amp;nbsp;when it wants to update itself. This will trigger a reset before the copy routine starts and the flash protection will be disabled at the point.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/551977?ContentTypeID=1</link><pubDate>Mon, 20 Oct 2025 15:40:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f84a10c-38bf-4a95-a642-47b184d81f36</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;In any case, I think this use case does not warrant too much investigation so I am okay to close this request.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/551974?ContentTypeID=1</link><pubDate>Mon, 20 Oct 2025 15:38:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29b12f26-122c-41e5-a17a-ea8e738fb47f</guid><dc:creator>RVM</dc:creator><description>&lt;p&gt;Hi Vidar&lt;/p&gt;
&lt;p&gt;Thanks for your responses. This problem does NOT show up if I start my experiments with the full system application (Buttonless DFU) and then download just the boot loader update.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;NOTE: Our boot loader protects itself from modification so I do not expect the new firmware to be actually written to the device. I was simply testing that our devices resume operations with the prior boot loader itself. And that is where I ran into this issue when I used just the SD and our boot loader (without the Buttonless DFU application) on the device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA/DFU of identical bootloader ZIP package fails to relaunch the new bootloader.</title><link>https://devzone.nordicsemi.com/thread/551920?ContentTypeID=1</link><pubDate>Mon, 20 Oct 2025 11:22:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e640852-c87c-46cd-8d02-036e2d2d233a</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Yes, this flow is supported and 0xA60 is the address to the HardFault_Handler() in the MBR, so the question is what triggered the fault. A good start to troubleshoot this might be to read out the flash before and after performing a DFU, then compare the two using a diff. If you are uploading the same bootloader binary as the one you programmed initially, you should expect the contents of the bootloader section to remain unchanged.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1760959267713v3.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;(&lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader.html"&gt;https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader.html&lt;/a&gt; )&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Reading out flash with nrfjprog&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrfjprog --memrd 0x0 --n 0x100000 &amp;gt; flash_content.txt&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Vidar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>