<?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>One bootloader to rule them all</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/95859/one-bootloader-to-rule-them-all</link><description>Hello. I have a question about which I can&amp;#39;t seem to find an easy answer to. It&amp;#39;s related to DFU and nRF5 SDK vs Zephyr vs nRF-Connect SDK. 
 I am looking for one bootloader for nRF chips which would fit all needs, that is: UART/native-USB, BLE DFU. </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 Jan 2023 12:05:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/95859/one-bootloader-to-rule-them-all" /><item><title>RE: One bootloader to rule them all</title><link>https://devzone.nordicsemi.com/thread/406837?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 12:05:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:153daea3-7b6a-49d3-8e48-ae3c9b32f26a</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Headsup: If you mark a case with &amp;quot;Verified Answer&amp;quot;, it no longer is in my queue. &lt;br /&gt;I sometimes check my &amp;quot;closed&amp;quot; cases, which is how I caught this one.&lt;br /&gt;So if you want to make sure that I still see your new questions after that, make sure to tag me in the comments as such&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/sigurd-hellesvik"&gt;Sigurd Hellesvik&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user="PB"]Also on top of this, is there any implementation of nRF5 SDK DFU protocol in C or other language than Python available? T[/quote]
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/42263/nrf52832-serial-dfu-mode-implementation-procedure-in-nrfutil-application"&gt;nrf52832 serial dfu mode  implementation procedure in nrfutil application&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;It is 4 years old, but it is still true today. &lt;br /&gt;It is regarding the nRF5 SDK after all.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One bootloader to rule them all</title><link>https://devzone.nordicsemi.com/thread/406345?ContentTypeID=1</link><pubDate>Tue, 24 Jan 2023 19:21:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29e273ba-d236-495c-b26e-b1379d39f1d2</guid><dc:creator>PB</dc:creator><description>&lt;p&gt;Thank you very much for all the invaluable information! I will be processing this slowly and let you know when I come up with anything. Indeed it seems that&amp;nbsp;CONFIG_FLASH_LOAD_OFFSET is the way to go.&lt;/p&gt;
&lt;p&gt;Also on top of this, is there any implementation of nRF5 SDK DFU protocol in C or other language than Python available? There is quite a few cases to cover in nRF5 SDK DFU so thought that maybe you might be aware of existing implementations.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One bootloader to rule them all</title><link>https://devzone.nordicsemi.com/thread/406178?ContentTypeID=1</link><pubDate>Tue, 24 Jan 2023 08:55:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29ddecca-a19f-4844-9b75-09f696a6712f</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;&lt;strong&gt;nRF5 Bootloader with nRF Connect SDK application&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;Yes, you can do this.&lt;br /&gt;The application does not care which bootloader runs it.&lt;/p&gt;
&lt;p&gt;For BLE, the nRF5 bootloader used the Softdevice.&lt;br /&gt;So if you want DFU over BLE, you need to include an extra Softdevice into your device.&lt;br /&gt;This extra softdevice will require less flash space than the application, so it may solve your flash-space issues.&lt;/p&gt;
&lt;p&gt;To make sure that you have unused flash-space for the nRF5 bootloader+softdevice before the application, you can use &amp;quot;&lt;span&gt;CONFIG_FLASH_LOAD_OFFSET&lt;/span&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Any nRF5 communication between the application and Softdevice might become problematic. Such as buttonless DFU.&lt;br /&gt;I have not tested this though.&lt;br /&gt;It will likely be easier to use some other mechanism to trigger DFU, such as pulling a pin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update the nRF5 Bootloader to MCUboot&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you decide that you want to update to MCUboot, see&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/92774/hang-with-nrf5-sdk-17-1-0-bootloader-and-nrf-connect-sdk-2-1-0-application"&gt;Hang with nRF5 SDK 17.1.0 Bootloader and nRF Connect SDK 2.1.0 application&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Does this answer your questions?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One bootloader to rule them all</title><link>https://devzone.nordicsemi.com/thread/406098?ContentTypeID=1</link><pubDate>Mon, 23 Jan 2023 16:19:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:512f444e-375d-49c2-9d27-d9ae8e2042de</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It seems like it takes some more time than planned to find good answers for your questions.&lt;/p&gt;
&lt;p&gt;I hope to answer in 1 or 2 days.&lt;/p&gt;
&lt;p&gt;Here is what I have so far:&lt;/p&gt;
[quote user=""]1. Is there a single bootloader which would support USB/UART and BLE DFU? Looking for 1 application slot, no external flash available.[/quote]
&lt;p&gt;As far as I know, there is no such solution for MCUboot.&lt;br /&gt;MCUboot does not have any support for BLE DFU.&lt;br /&gt;MCUboot also have a requirement of same-size slots.&lt;/p&gt;
&lt;p&gt;It seems that you need to make quite large changes to MCUboot if you want to change either of these two things.&lt;/p&gt;
&lt;p&gt;I discussed something similar with another customer in &amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/93374/ble-recovery-image"&gt;BLE Recovery Image  &lt;br /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;Keep in mind that this was more regarding stability than space.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user=""]2. Is there any way to have nRF5 SDK based bootloader to be able to flash Zephyr based builds? We have so much done with nRF5 SDK that migrating to new SDK&amp;nbsp;defeats the purpose[/quote]
&lt;p&gt;I am mostly experienced with the NRF Connect SDK. And my colleague who is most likely to know this have been out of office last week.&lt;br /&gt;I will discuss this with him tomorrow, to figure out if it is possible or not.&lt;/p&gt;
&lt;p&gt;If it works, I am inclined to think that the old bootloader would be the best solution for you.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
[quote user=""]3. How could we swap between Zephyr/nRF-Connect-SDK and nRF5 SDK AP+SD builds?[/quote]
&lt;p&gt;We have a script for converting devices from the nRF5 Bootloader to MCUboot.&lt;br /&gt;I will find this tomorrow.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: One bootloader to rule them all</title><link>https://devzone.nordicsemi.com/thread/405651?ContentTypeID=1</link><pubDate>Thu, 19 Jan 2023 11:53:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d5a98a8f-d6e9-4327-8eb4-abbe9d9cd062</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I will look into your questions and return with more information on Monday.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>