<?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>nRF52840 OTA update with a GSM modem (UART)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71271/nrf52840-ota-update-with-a-gsm-modem-uart</link><description>Hello, 
 We are looking to do OTA device firmware update by GSM for the nRF52840. 
 We have a custom board with a nRF52840 and a GSM/LTE-M modem. They are communicating together by an UART. 
 The new firmware is downloaded and stocked by the GSM modem</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Feb 2021 14:00:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71271/nrf52840-ota-update-with-a-gsm-modem-uart" /><item><title>RE: nRF52840 OTA update with a GSM modem (UART)</title><link>https://devzone.nordicsemi.com/thread/293123?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 14:00:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69dc96f6-624f-4cc6-ada3-7b0b52e9063c</guid><dc:creator>Edvin</dc:creator><description>[quote user="HRomain"]should we start with the example &amp;quot;dfu\secure_bootloader\pca10056_uart&amp;quot; and skip the transport phase or is it better to use the &amp;quot;background DFU&amp;quot; from &amp;quot;components\iot\background_dfu&amp;quot; ?[/quote]
&lt;p&gt;&amp;nbsp;I have not done this myself, but I believe that is the way to go. Look at what functions are called on the object execute command, which I tried to point to in the other ticket that I linked to.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And yes, you would need the .bin and .dat file generated by nrfutil, as if you were using the unmodified secure_bootloader.&lt;/p&gt;
&lt;p&gt;Actually, you may not need to store the init packet in flash, as this is just used to check whether the application is signed (before it decides whether to receive the rest of the application image). You can check this in your application if you like, but you can probably only use the .bin file.&lt;/p&gt;
&lt;p&gt;I suggest that you try to perform a DFU operation from the unmodified bootloader, and look at what is located in the flash before the object is executed.&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: nRF52840 OTA update with a GSM modem (UART)</title><link>https://devzone.nordicsemi.com/thread/293064?ContentTypeID=1</link><pubDate>Fri, 05 Feb 2021 10:58:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e7645f4-17a4-4c93-af57-875bd2f96786</guid><dc:creator>HRomain</dc:creator><description>&lt;p&gt;Hi, thanks for your answers.&lt;/p&gt;
&lt;p&gt;You&amp;#39;re right, it will probably be easier to pull and write the new firmware from the app.&lt;br /&gt;for that&amp;nbsp;we need to write .bin and .dat files to the bank1 and then call the bootloader right ?&lt;/p&gt;
&lt;p&gt;I&amp;#39;m a little confused on&amp;nbsp;the bootloader, about how to implement it.&lt;/p&gt;
&lt;p&gt;should we start with the example &amp;quot;dfu\secure_bootloader\pca10056_uart&amp;quot; and skip the transport phase or is it better to use the &amp;quot;background DFU&amp;quot; from &amp;quot;components\iot\background_dfu&amp;quot; ?&lt;br /&gt;We use SDK16&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52840 OTA update with a GSM modem (UART)</title><link>https://devzone.nordicsemi.com/thread/292927?ContentTypeID=1</link><pubDate>Thu, 04 Feb 2021 13:34:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:302949a5-e206-43c9-a767-081144bddaac</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The bootloader in the SDK is a passive bootloader, meaning that by default the behavior is that it enters DFU mode, and then the DFU master will send the image to the nRF. I guess your GSM module isn&amp;#39;t capable of that, and that the nRF needs to manually pull the firmware from the GSM module, right?&lt;/p&gt;
&lt;p&gt;So as I see it you have two options:&lt;/p&gt;
&lt;p&gt;Either modify the bootloader to request the application image from the GSM module, or have the application pull the application image, and then start the bootloader to verify and move the application to the correct bank.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1. It doesn&amp;#39;t really matter what address you use, as long as the bootloader is aware of the start address for the new application.&lt;/p&gt;
&lt;p&gt;2. Please see the answer I wrote in &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/71234/custom-dfu-in-app"&gt;this ticket&lt;/a&gt; yesterday. It is pretty much the case that you are facing as well.&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></channel></rss>