<?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 from application layer</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/108200/ota-from-application-layer</link><description>Hello, 
 We develop system with BLE topology as shown in Figure 1. SDK17.1.0 is used. 
 
 Figure 1. 
 
 Mobile phone sends various commands to peripheral device over custom BLE service. Comands are encapsulated in our protocol. Peripheral device decides</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 21 Feb 2024 19:39:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/108200/ota-from-application-layer" /><item><title>RE: OTA from application layer</title><link>https://devzone.nordicsemi.com/thread/470104?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2024 19:39:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65f09aa8-d259-485a-bcae-e14b8622ce50</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Sure, no problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA from application layer</title><link>https://devzone.nordicsemi.com/thread/470099?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2024 18:30:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:870f077a-8778-43e2-bb53-022267c3364a</guid><dc:creator>Rytis</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Thank You for information. We will dig deeper into your solution.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll keep this thread open for a while in case of new questions.&lt;/p&gt;
&lt;p&gt;Rytis&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA from application layer</title><link>https://devzone.nordicsemi.com/thread/468943?ContentTypeID=1</link><pubDate>Thu, 15 Feb 2024 08:08:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f42d349d-4c67-4826-893b-8e6ada430d66</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;As you might have known, our DFU solution has&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/lib_bootloader.html?cp=9_1_3_5_0_7#lib_bootloader_memory"&gt;the memory laid out similar to your image&lt;/a&gt;. We do have an experimental feature to support&amp;nbsp;the encryption, download, validation, and activation of a firmware image for an external device.&amp;nbsp;There is unfortunately no example for it. However, it is documented. Here are some resources you can start with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Encrypting and packing the image:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/ug_nrfutil/UG/nrfutil/nrfutil_update_external_app.html"&gt;https://infocenter.nordicsemi.com/topic/ug_nrfutil/UG/nrfutil/nrfutil_update_external_app.html&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Even though the documentation page is under DFU over Zigbee, it is valid for all cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;DFU Library configuration&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/group__nrf__dfu__config.html#ga96b351c9068e9d0aa1c396f2d2697295"&gt;NRF_DFU_SUPPORTS_EXTERNAL_APP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;DevZone case:&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/68413/how-to-use-external-app-firmware-update"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/68413/how-to-use-external-app-firmware-update&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The application is &amp;quot;activated&amp;quot; by triggering a callback at the end of the download.&amp;nbsp;You will need to implement the callback to forward the image to the external device. In your case, you want to do so via BLE. However, we don&amp;#39;t have any support for&amp;nbsp;sending DFU from a nRF Device.&lt;/p&gt;
&lt;p&gt;It is still possible. This DevZone case goes into the topic:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/76980/dfu-controller-in-central-nrf52-device"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/76980/dfu-controller-in-central-nrf52-device&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA from application layer</title><link>https://devzone.nordicsemi.com/thread/468695?ContentTypeID=1</link><pubDate>Tue, 13 Feb 2024 16:48:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d958d4e-05d4-455b-87d1-905c77ac1369</guid><dc:creator>Rytis</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;1. Only one device(peripheral) is advertising, other devices(mobile phone + central1 and central2 devices) connects to this peripheral, so mobile phone connects to only one device directly.&lt;/p&gt;
&lt;p&gt;2. Preferably yes.&lt;/p&gt;
&lt;p&gt;We are woried about porting whole project to nRF Connect SDK. We do not have much experience with this SDK and Zephyr OS, so we would like to stick with nRF5 SDK + freeRTOS.&lt;/p&gt;
&lt;p&gt;New FW image encapsulated to our own protocol looked like easiest solution, but now I can see that is is wrong assumption :)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;According information i found there are three ways:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* Adopt system to use nRF5 SDK DFU procedure. Am I right what this solution is &amp;auml;lmost ready to use in iOS and Android?&lt;/p&gt;
&lt;p&gt;* Try to understand and adopt background DFU project from&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/46994/background-dfu-application-source-code?ReplySortBy=CreatedDate&amp;amp;ReplySortOrder=Ascending"&gt;this post&lt;/a&gt;&amp;nbsp;(not easy to find this ticket)&lt;/p&gt;
&lt;p&gt;* Write our own custom solution + custom bootloader.&lt;/p&gt;
&lt;p&gt;Rytis&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA from application layer</title><link>https://devzone.nordicsemi.com/thread/468670?ContentTypeID=1</link><pubDate>Tue, 13 Feb 2024 14:55:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b3c55385-3a3a-4415-a150-73d0c7fbf370</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Rytis,&lt;/p&gt;
&lt;p&gt;Am I right to understand that:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The mobile phone app can connect to all devices in your topology, even though the image doesn&amp;#39;t show that.&lt;/li&gt;
&lt;li&gt;You want the DFU process to run over your own protocol&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If so then I am afraid we don&amp;#39;t have an out of the box solution in the nRF5 SDK, but it&amp;#39;s solely due to point 2.&lt;/p&gt;
&lt;p&gt;However, the nRF Connect SDK&amp;#39;s DFU solution works exactly as you want. Is changing to this SDK an option for you? We recommend NCS for all new projects anyway, as the nRF5 SDK is in &lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-connect-sdk-and-nrf5-sdk-statement"&gt;maintenance mode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you must stay with the nRF5 SDK, could you please elaborate why you need the image encapsulated in your protocol, so that we can help you look for solutions?&lt;/p&gt;
&lt;p&gt;Please keep in mind that&amp;nbsp;the nRF5 SDK solution already supports encryption of the image, as well as encryption of the connection via BLE bonding.&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: OTA from application layer</title><link>https://devzone.nordicsemi.com/thread/468469?ContentTypeID=1</link><pubDate>Mon, 12 Feb 2024 16:46:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:345400f5-1e61-47f3-884b-de951ac13785</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Rytis, I did not manage to answer you today. I will take a look at your description tomorrow and will try to reply to you. Thanks for your patience.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>