<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://test-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>Firmware Update from external SPI Flash</title><link>https://test-devzone.nordicsemi.com/f/nordic-q-a/85070/firmware-update-from-external-spi-flash</link><description>We have developed a system using nRF52833 that is connected via WiFi to the cloud. We would like to do firmware update Over The Air from the Cloud using WiFi. 
 The first step we can do is to transfer the ,new image over WIFi to the external SPI Flash</description><dc:language>en-US</dc:language><generator>Telligent Community 13 Non-Production</generator><lastBuildDate>Wed, 23 Feb 2022 12:18:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://test-devzone.nordicsemi.com/f/nordic-q-a/85070/firmware-update-from-external-spi-flash" /><item><title>RE: Firmware Update from external SPI Flash</title><link>https://test-devzone.nordicsemi.com/thread/354549?ContentTypeID=1</link><pubDate>Wed, 23 Feb 2022 12:18:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3669c86a-11e0-45a2-b900-3e9f5edbe080</guid><dc:creator>user72692</dc:creator><description>[quote user=""]Is there an existing process or example code to do the next step which consists of transferring the image from the extrenal SPI flash to the main flash and re-booting?[/quote]
&lt;p&gt;Actually, we do&amp;nbsp;have some&amp;nbsp;examples doing this. The way to do it is to simply put the secondary slot into the external flash, and MCUboot will then see the new update in the secondary slot and swap it with the primary slot, as explained in &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.0/mcuboot/design.html#boot-swap-types"&gt;MCUboot --&amp;gt; Boot swap types&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you search in Devzone after mcuboot+external flash you will find a lot of cases explaining this.&lt;/p&gt;
&lt;p&gt;You can also take a look at these examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://test-devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu#serial_dfu_ext_flash"&gt;Serial DFU using external flash&lt;/a&gt;&amp;nbsp;(using nRF52840 DK and communicates with external flash through QSPI)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://test-devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu#http_dfu_ext_flash"&gt;HTTP DFU using external flash&lt;/a&gt;&amp;nbsp;(using nRF9160 DK and communicates with external flash through SPI)&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="https://github.com/nrfconnect/sdk-nrf/tree/v1.9.0/tests/modules/mcuboot/external_flash"&gt;https://github.com/nrfconnect/sdk-nrf/tree/v1.9.0/tests/modules/mcuboot/external_flash&lt;/a&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;52840 DK and 5340 DK are supported, see&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-nrf/tree/v1.9.0/tests/modules/mcuboot/external_flash/boards"&gt;https://github.com/nrfconnect/sdk-nrf/tree/v1.9.0/tests/modules/mcuboot/external_flash/boards&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;Be aware that the nrf5340 DK, the nrf9160 DK and the nrf9160 DK has inbuilt external flash and the external flash is set up in DTS by default in the board folder. For example for the nRF5340 DK, the hardware is configured in&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/blob/590a3ae38214db019489a9dccaa9b6b7121e086c/boards/arm/nrf5340dk_nrf5340/nrf5340_cpuapp_common.dts#L158-L184"&gt;zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340_cpuapp_common.dts&lt;/a&gt;. This is not the case for the nRF52833 and you have to add this yourself to an .overlay file for example.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Simon&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>