<?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>nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90916/nrf5340-ota-dfu-multi-image-over-ble</link><description>Hi, 
 We have multiple controllers connected serially(using SPI/UART) to the NRF5340 controller in our product. We have a requirement to download multiple images(4-5) for all the controllers simultaneously over BLE(to start with and later over Matter</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 29 Dec 2022 19:52:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90916/nrf5340-ota-dfu-multi-image-over-ble" /><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/402587?ContentTypeID=1</link><pubDate>Thu, 29 Dec 2022 19:52:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b867b1a0-91c3-4b7a-a0bf-c01d6de27727</guid><dc:creator>Devanshu5</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/kaushik-parsana"&gt;Kaushik Parsana&lt;/a&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/prashant.humbre.softdel"&gt;Prashant Humbre&lt;/a&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/creightoncca"&gt;creightoncca&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/members/yuelin.li"&gt;Yuelin.Li&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FYI / FYR&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/399291?ContentTypeID=1</link><pubDate>Tue, 06 Dec 2022 22:18:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90be1d58-38db-44f8-8f95-c89c52791183</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I am trying to remember what I was thinking at the time of writing the previous reply. I believe I wanted him to change the UUID just so that the nRF wouldn&amp;#39;t automatically try to install the image to itself. What I meant by using the SMP_SVR as a starting point was just that he could look at the implementation of SMP_SVR, and how it uses the incoming packets to re-assemble the image and store it in flash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The same goes to changing where the image is stored in flash. I thought it may be easiest not to tangle it too far into the MCUBOOT mechanisms, if the image was intended for another device.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Let me just say that if any of you make a system that can receive and update any other device on e.g. an SPI or I2C bus, that is brilliant. Let us know how you did it, becaus it is not a trivial task. This is why I tried to hint towards not doing everything via MCUMGR. But everything is possible, but be aware that MCUMGR is quite complex. If the target device is not even using MCUMGR with it&amp;#39;s protocol and it&amp;#39;s image format, I think it is easier just to transfer the image chunk wise, store it in flash, and then transfer it however that device expects it to be transferred once you have the entire packet.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/399255?ContentTypeID=1</link><pubDate>Tue, 06 Dec 2022 17:28:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f9146dcd-3422-479e-8a7d-a94a1581b5f2</guid><dc:creator>Robert de Brum</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am working to achieve a similar goal of performing a DFU over BLE but to both cores of an nrf5340 simultaneously. When you say:&lt;/p&gt;
[quote userid="26071" url="~/f/nordic-q-a/90916/nrf5340-ota-dfu-multi-image-over-ble/381902"]The easiest is probably to take the SMP_SVR service as an starting point, but change the UUID and where in flash this is stored, or whether you want to send it (from RAM, without storing to flash) while receiving it.&amp;nbsp;[/quote]
&lt;p&gt;I have a few questions.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Why do you need to change the UUID? Isn&amp;#39;t that the service UUID that will let NRF Connect and other mobile apps know that the device can DFU?&lt;/li&gt;
&lt;li&gt;When you say to change where in flash the update package is stored, is this why we need to create 2 partitions? May I ask, how can we define the size of these partitions?&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/381902?ContentTypeID=1</link><pubDate>Wed, 17 Aug 2022 07:51:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0020d3d-5dbe-408d-a072-617052e8e92e</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;1: Yes. Not necessarily the Filesystem Management. At least, I suggest you try without that first, using the guide from my previous reply. Also, be aware that if you intend to use Bluetooth LE as the transfer layer, then mcumgr on windows doesn&amp;#39;t support that (at least at this point in time). It is supported on Linux, and possibly MacOS.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But you can test transferring the file over BLE using nRF Connect for Android/iOS.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2: I want to keep all other devices (all non-Nordic) devices out of the equation for now, because I don&amp;#39;t know how they work, and in what format they expect to receive their image. This will be proprietary. What you need to figure out is a way to transfer the binary blob from your computer/phone to the nRF, and whether to store it in flash, or send it directly over serial (?) in the expected format that they want to receive the image.&amp;nbsp; By default, if you use the SMP_SVR sample, it will be stored in a particular place in flash where it will try to boot it up later. So if you want to use this service directly, you may want to look into a way to store it somewhere else, so that the MCUBOOT bootloader doesn&amp;#39;t try to apply it to itself. This will probably also require you to modify whatever you are using to transfer the image, to be able to differentiate between images intended for the nRF and the other devices.&lt;/p&gt;
&lt;p&gt;The easiest is probably to take the SMP_SVR service as an starting point, but change the UUID and where in flash this is stored, or whether you want to send it (from RAM, without storing to flash) while receiving it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/381850?ContentTypeID=1</link><pubDate>Tue, 16 Aug 2022 19:00:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e397a05-1004-40b5-aa97-42a32c118360</guid><dc:creator>Devanshu5</dc:creator><description>&lt;p&gt;Thanks for the detailed information.&lt;/p&gt;
&lt;p&gt;I have few more queries:&lt;/p&gt;
&lt;p&gt;1. For transferring files using the SMP_SVR, are you referring to the below from mcumgr?&lt;/p&gt;
&lt;p&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/pastedimage1660676371086v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;2. If I go with the approach of writing my own custom BLE service( for transport layer), can you point to examples where the&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/dfu/dfu_multi_image.html"&gt;DFU multi-image&lt;/a&gt;&amp;nbsp;library is used? I want to transfer my images in a single CBOR firmware bundle. I have checked the API documentation of the library but if you could point me to the source code where it is being utilized that would be helpful.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/381477?ContentTypeID=1</link><pubDate>Mon, 15 Aug 2022 07:46:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:08ee93e4-1dff-4b6d-910b-c95dc0c71dde</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The DFU Multi-Image is intended to update several cores on the nRF5340. The entire ecosystem around MCUBOOT and mcumgr (used to transfer the DFU images to the target device) revolves around the MCUBOOT bootloader on a single device, such as the nRF5340. The smp_svr sample is a sample showing how to store the DFU image to the correct place(s) in flash, and telling the bootloader to reset and check out these new images.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For multi-image DFU on the nRF5340 (to upgrade both cores in one combined package) I suggest that you take a look at the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf5340.html#fota-over-bluetooth-le"&gt;FOTA over Bluetooth LE section&lt;/a&gt;&amp;nbsp;in combination with the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf5340.html#simultaneous-multi-image-dfu"&gt;Simultaneous multi-image DFU section&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To see examples that have implemented this, you can check out the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/machine_learning/README.html"&gt;machine learning example&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have access to an nRF52840 (or any of the nRF52XXX) DKs, I suggest that you test DFU using that first. If you don&amp;#39;t have it, I suggest you start by only updating the application core, just to familiarize yourself with the concept.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;As for the rest of the devices that you want to update, I don&amp;#39;t think you should mix this into the MCUBOOT environment. You can look at the SMP_SVR sample to see how you can transfer files, but it can also be done easier, if you create a custom BLE service (or whatever transport layer you want to use). Then you transfer the binary files that you want to apply to the other devices. I don&amp;#39;t know what devices you are talking about, but I suspect that if this is not a device running Zephyr, and in that case, they probably have their own protocols on how to receive DFU images. In that case, you need to implement the generating and transfer of these packets on your own. Both from the cloud to the nRF, and from the nRF via serial to the other devices.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf5340 OTA DFU multi-image over BLE</title><link>https://devzone.nordicsemi.com/thread/381240?ContentTypeID=1</link><pubDate>Thu, 11 Aug 2022 18:02:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dc66976e-e6d3-463c-b0e2-9983b05e5307</guid><dc:creator>Devanshu5</dc:creator><description>&lt;p&gt;Also, Please let me know if there are any other ways in which I can achieve my desired goal of downloading multiple images in one firmware bundle on the nrf5340.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>