<?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] Update firmware from external flash</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/70340/nrf52840-update-firmware-from-external-flash</link><description>Hi, 
 I have a custom board with nRF52840 and I&amp;#39;m using nordic SDK. My image size is increasing because I have lots of peripheral connected in my board. I would like to use external flash for the OTA. 
 
 So during DFU, the new image would be written</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 12 Jan 2021 13:42:23 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/70340/nrf52840-update-firmware-from-external-flash" /><item><title>RE: [nRf52840] Update firmware from external flash</title><link>https://devzone.nordicsemi.com/thread/288663?ContentTypeID=1</link><pubDate>Tue, 12 Jan 2021 13:42:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:149329c7-db8e-469a-93ae-211f2caf1007</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user=""] I cannot rely on single bank OTA.[/quote]
&lt;p&gt;&amp;nbsp;Please note that signel bank does not brick the device. It only means that if something happens during the DFU (runs out of battery or goes out of range), then the device will be stuck in DFU mode until it is updated again.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you still wish to use an external flash, then this is something you need to implement. I would recommend that you start with one of the serial bootloaders, such as the SDK\examples\dfu\secure_bootloader\pca10056_uart_debug, (use _debug for development, and when you are done, apply the same changes to the non- _debug project).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The bootloader in the SDK is a passive bootloader. This means that by default, the bootloader will wait for the application being pushed to it while it is in DFU mode. In your case, that is not possible, so you would have to implement something that actually reads the application from the external flash, and performs the DFU. Look at how the event&amp;nbsp;NRF_DFU_OP_OBJECT_EXECUTE is implemented, which I believe is the command that is sent when the transfer of the new image is done, which will actually move and replace the existing application.&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>