<?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>Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/102767/confusion-about-multi-image-dfu-on-nrf5340-in-nrf-connect-sdk-2-4-1-yes-again</link><description>Hi, I&amp;#39;m trying to implement DFU for an nRF5340-based product and I&amp;#39;m finding the documentation to be quite confusing, to say the least. I&amp;#39;d like to be able to update both cores (app and net) over BLE or over USB CDC if something goes wrong (serial recovery</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 16 Oct 2023 01:43:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/102767/confusion-about-multi-image-dfu-on-nrf5340-in-nrf-connect-sdk-2-4-1-yes-again" /><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/450424?ContentTypeID=1</link><pubDate>Mon, 16 Oct 2023 01:43:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d461a60a-1296-4796-b2fa-ece74a585bde</guid><dc:creator>Jason</dc:creator><description>&lt;p&gt;Thanks, I hope so. However, I am still facing the &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/104608/nrf5340-serial-recovery-for-the-net-core"&gt;issue&lt;/a&gt;&amp;nbsp;when enabling the ANT+ features. Waiting for the feedback from Nordic&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f614.svg" title="Pensive"&gt;&amp;#x1f614;&lt;/span&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/450205?ContentTypeID=1</link><pubDate>Fri, 13 Oct 2023 07:38:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7df21e1-2f80-4f87-9f12-64c0a949bd89</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;I&amp;#39;m glad it works for you and I hope that you never have to touch the update related code again &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/450177?ContentTypeID=1</link><pubDate>Fri, 13 Oct 2023 02:36:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:650e5449-94b8-428d-b280-9a1cd7e200c8</guid><dc:creator>Jason</dc:creator><description>[quote userid="85343" url="~/f/nordic-q-a/102767/confusion-about-multi-image-dfu-on-nrf5340-in-nrf-connect-sdk-2-4-1-yes-again/450045"]I *think* that the&amp;nbsp;main problem in your scenario is that you&amp;#39;re also erasing the network core bootloader (b0n).[/quote]
&lt;p&gt;Thank you for pointing out the problem, now the network core can be recovered after I program the b0n.&lt;/p&gt;
[quote userid="85343" url="~/f/nordic-q-a/102767/confusion-about-multi-image-dfu-on-nrf5340-in-nrf-connect-sdk-2-4-1-yes-again/450045"]Of course, in this scenario you shouldn&amp;#39;t get a PCD_STATUS_COPY[/quote]
&lt;p&gt;I think this is similar to the issue(&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/101062/nrf5340-net-core-upgrade"&gt;nrf5340 net core upgrade&lt;/a&gt;) I posted before.&lt;/p&gt;
[quote userid="85343" url="~/f/nordic-q-a/102767/confusion-about-multi-image-dfu-on-nrf5340-in-nrf-connect-sdk-2-4-1-yes-again/450045"]Also, I think that this whole thing could&amp;#39;ve been done better without the need for a separate bootloader on the network core (for example by running code only from RAM when updating the network core)[/quote]
&lt;p&gt;Yes, this should be a better way. but for me, it is enough for the current requirement, I mean request a b0n on the network core. you know,&amp;nbsp;changing the default upgrade mechanism is a headache.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/450045?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2023 12:03:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b1f18bd-0237-43bc-97b2-528712b19f9d</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;If I&amp;#39;m reading your description correctly, I *think* that the&amp;nbsp;main problem in your scenario is that you&amp;#39;re also erasing the network core bootloader (b0n). You&amp;#39;re also not specifying how you&amp;#39;re programming MCUboot after you erase the appliication core (or maybe you donn&amp;#39;t erase MCUboot at all?). Of course, in this scenario you shouldn&amp;#39;t get a PCD_STATUS_COPY, so there are multiple problems here, but at some point I&amp;#39;d like to try to erase the network core minus its bootloader and test your scenario. Also, I think that this whole thing could&amp;#39;ve been done better without the need for a separate bootloader on the network core (for example by running code only from RAM when updating the network core), but this is a separate discussion.&lt;/p&gt;
&lt;p&gt;As for ANT+, I never used that, so unfortunately I don&amp;#39;t have any insights there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/450026?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2023 11:12:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61f19935-1fa7-430d-b56c-9805c2308426</guid><dc:creator>Jason</dc:creator><description>&lt;p&gt;Thanks!&lt;/p&gt;
[quote userid="85343" url="~/f/nordic-q-a/102767/confusion-about-multi-image-dfu-on-nrf5340-in-nrf-connect-sdk-2-4-1-yes-again/449980"]Note that I don&amp;#39;t know if these are all needed, but I got a working configuration and I don&amp;#39;t plan on touching it again, because it appears to be very fragile. Finding the right configuration for this feature was an absolute nightmare, way too many options that need to be set in too many places.[/quote]
&lt;p&gt;yes, my configuration is similar to yours,&amp;nbsp; the configuration was&amp;nbsp;&lt;span&gt;an absolute nightmare.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Unfortunately,&amp;nbsp;I got &amp;quot;Network core update FAILED&amp;quot;, and I found that it was due to enabling the ANT+ features, I encountered a similar issue when updating the network core by BLE, and I got a &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/101062/nrf5340-net-core-upgrade"&gt;fix&lt;/a&gt;, but unfortunately this fix doesn&amp;#39;t seem to work in the recovery mode.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I created a test project without the ANT+ feature and was able to update the network core in recovery mode, but I found an&amp;nbsp;interesting phenomenon.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Test as below:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1. erase the application core and network core&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. only program the application core&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;3. enter recovery mode, upload the&amp;nbsp;net_core_app_update.bin&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4. after uploading completely, pcd_fw_copy_status_get() always returns&amp;nbsp;PCD_STATUS_COPY&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;That means the network core can not be recovered if the current network core is not working.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If my finding is correct, then What&amp;#39;s the point of recovery mode?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/449980?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2023 08:23:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:09a087b9-cc83-4be5-9438-c2a890b44f38</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have&amp;nbsp;&lt;span&gt;&lt;strong&gt;CONFIG_UPDATEABLE_IMAGE_NUMBER=2&lt;/strong&gt;, but &lt;strong&gt;this must be in the main prj.conf&lt;/strong&gt;, NOT in child_image/mcuboot.conf (at least that&amp;#39;s my experience with this particular option). Other related options that I have in prj.conf:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_MCUMGR_MGMT_NOTIFICATION_HOOKS=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOK=y&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I also have these in child_image/mcuboot.conf (assuming that your board has external QSPI flash):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;# Simultaneous multi-image update&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NRF53_MULTI_IMAGE_UPDATE=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_UPDATEABLE_IMAGE_NUMBER=2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_BOOT_IMAGE_ACCESS_HOOKS=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_FLASH_SIMULATOR=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_FLASH_SIMULATOR_DOUBLE_WRITES=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_FLASH_SIMULATOR_STATS=n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NORDIC_QSPI_NOR=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NORDIC_QSPI_NOR_STACK_WRITE_BUFFER_SIZE=16&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_FLASH=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS=y&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD=y&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that I don&amp;#39;t know if these are all needed, but I got a working configuration and I don&amp;#39;t plan on touching it again, because it appears to be very fragile. Finding the right configuration for this feature was an absolute nightmare, way too many options that need to be set in too many places.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Slot numbers&amp;nbsp;(-s option for mcumgr):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- app core: 0 in normal mode, 1 in recovery mode&lt;br /&gt;- net core: 1 in normal mode, 3 in recovery mode.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(yes, they are different. As if this whole thing wasn&amp;#39;t confusing enough).&lt;br /&gt;&lt;br /&gt;Also note that in recovery mode you won&amp;#39;t get a message from MCUboot after the update is complete, I&amp;#39;m using the following patch to fix this issue:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;---
 subsys/pcd/src/pcd.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/subsys/pcd/src/pcd.c b/subsys/pcd/src/pcd.c
index b22a8975a..34b48dfeb 100644
--- a/subsys/pcd/src/pcd.c
+++ b/subsys/pcd/src/pcd.c
@@ -125,12 +125,18 @@ static void network_core_pcd_tidy(void)

 static void network_core_finished_check_handler(struct k_timer *timer)
 {
-	if (pcd_fw_copy_status_get() != PCD_STATUS_COPY) {
+	enum pcd_status status = pcd_fw_copy_status_get();
+	if (status != PCD_STATUS_COPY) {
 		/* Upgrade has finished and either failed or completed
 		 * successfully, tidy up and cancel timer
 		 */
 		k_timer_stop(&amp;amp;network_core_finished_check_timer);
 		network_core_pcd_tidy();
+		if(status == PCD_STATUS_COPY_DONE) {
+			LOG_INF(&amp;quot;Network core update done&amp;quot;);
+		} else {
+			LOG_ERR(&amp;quot;Network core update FAILED!&amp;quot;);
+		}
 	}
 }&lt;/pre&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I hope this helps!&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><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/449941?ContentTypeID=1</link><pubDate>Thu, 12 Oct 2023 02:53:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:be10ea0c-c4f2-417c-a534-219af505af3d</guid><dc:creator>Jason</dc:creator><description>&lt;div&gt;
&lt;div&gt;&lt;span&gt;Hi&amp;nbsp;Bogdan,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;I am facing the same issue. I am able to update the network core and application core by BLE, and also the recovery of the application core image, but can not update the network core in&amp;nbsp;recovery&amp;nbsp;mode.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Could you tell me the steps of how to make&amp;nbsp;both simultaneous update and serial recovery work?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;e.g what is the MCUBoot conf?&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_UPDATEABLE_IMAGE_NUMBER=?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_NRF53_MULTI_IMAGE_UPDATE=?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_NRF53_RECOVERY_NETWORK_CORE=?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;what is the&amp;nbsp;mcumgr&amp;nbsp;command?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;Thanks!!&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/441936?ContentTypeID=1</link><pubDate>Thu, 17 Aug 2023 16:34:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf0cb748-cd1b-43dc-86a2-409c0baadcc1</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;Hi Hieu. Yes, everything is OK now, this ticket can be closed. Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/441924?ContentTypeID=1</link><pubDate>Thu, 17 Aug 2023 15:43:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03a975be-ec1b-4c95-8232-627a8baa1e6b</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Bogdan,&lt;/p&gt;
&lt;p&gt;Thank you for the feedback. I will relay them to&amp;nbsp;our R&amp;amp;D.&lt;/p&gt;
&lt;p&gt;From your updates, I understand that both simultaneous update and serial recovery are working for you now. Is that right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/441376?ContentTypeID=1</link><pubDate>Tue, 15 Aug 2023 12:18:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b65a305-e0ad-445e-bc20-adc7e38e6791</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;One more thing relateed to this: I&amp;#39;ve noticed that there&amp;#39;s no indication that the network core update finished in serial recovery mode when&amp;nbsp;&lt;span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NRF53_MULTI_IMAGE_UPDATE&lt;/span&gt; is enabled (and there really should be one). The bootloader will just display this on the console after the net core image is uploaded:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;[...]&lt;br /&gt;I: Erasing range 0x2e000:0x2efff&lt;br /&gt;I: Writing at 0x2dd80 until 0x2e888&lt;br /&gt;I: Erasing range 0x39000:0x39fff&lt;br /&gt;I: Turned on network core&lt;br /&gt;I: RX: 0x0&lt;br /&gt;I: TX&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;That&amp;#39;s all the information what we get about the net core update. I added this patch to my source tree (this is on top of NCS 2.4.1):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;diff --git a/subsys/pcd/src/pcd.c b/subsys/pcd/src/pcd.c&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;index b22a8975a..34b48dfeb 100644&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;--- a/subsys/pcd/src/pcd.c&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+++ b/subsys/pcd/src/pcd.c&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;@@ -125,12 +125,18 @@ static void network_core_pcd_tidy(void)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;static void network_core_finished_check_handler(struct k_timer *timer)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-&amp;nbsp; &amp;nbsp;if (pcd_fw_copy_status_get() != PCD_STATUS_COPY) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp;enum pcd_status status = pcd_fw_copy_status_get();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp;if (status != PCD_STATUS_COPY) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* Upgrade has finished and either failed or completed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * successfully, tidy up and cancel timer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; k_timer_stop(&amp;amp;network_core_finished_check_timer);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; network_core_pcd_tidy();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(status == PCD_STATUS_COPY_DONE) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LOG_INF(&amp;quot;Network core update done&amp;quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LOG_ERR(&amp;quot;Network core update FAILED!&amp;quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;+&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt; }&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;#39;m sure there are better ways to do this (ideally the status should be reported to &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;mcumgr&lt;/span&gt;),&amp;nbsp;but&amp;nbsp;at least this gives a visual indication of&amp;nbsp;what happened with the net core upgrade.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/441326?ContentTypeID=1</link><pubDate>Tue, 15 Aug 2023 09:32:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd7cab1f-edec-4cfb-84eb-462e719858a0</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;Hi Hieu, thanks for the reply. I left out the &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-e&lt;/span&gt; and &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-c&lt;/span&gt; arguments because they were sort of implied for this use case, the important part is the &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-n&lt;/span&gt; which specifies the image ID. Section &amp;quot;The MCUboot&amp;rsquo;s serial recovery of the networking core image&amp;quot; of &lt;a id="" href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/device_guides/working_with_nrf/nrf53/nrf5340.html"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/device_guides/working_with_nrf/nrf53/nrf5340.html&lt;/a&gt; shows that this argument should be 3, but this information is not present in the &amp;quot;Simultaneous multi-image DFU&amp;quot; section of the same document and I didn&amp;#39;t know if the image number is correct for the latter case. Some experiments suggests that it is, but I still think that this deserves a more clear explanation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/441078?ContentTypeID=1</link><pubDate>Mon, 14 Aug 2023 07:28:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:388496e4-fb7f-4e6d-8675-289f28267349</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Sorry, I meant to link the following guide in my previous reply. It is where the documentation screenshot comes from:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.1/nrf/working_with_nrf/nrf53/nrf5340.html#mcuboot-s-serial-recovery-of-the-networking-core-image"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.1/nrf/working_with_nrf/nrf53/nrf5340.html#mcuboot-s-serial-recovery-of-the-networking-core-image&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can see the &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;mcumgr&lt;/span&gt; command you need documented there. Looks like you&amp;nbsp;are only missing&amp;nbsp;the&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-e&lt;/span&gt; and &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;-c serial_conn&lt;/span&gt; arguments.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/440983?ContentTypeID=1</link><pubDate>Fri, 11 Aug 2023 14:08:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01bffd7c-99aa-45c7-a3b2-8600f2309e05</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;Thank you. So then what parameters do I need to give &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;mcumgr&lt;/span&gt; to update the network core in recovery mode when&amp;nbsp;&lt;span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NRF53_MULTI_IMAGE_UPDATE&lt;/span&gt;&amp;nbsp;&lt;/span&gt;is enabled? I expect that even if I enable&amp;nbsp;&lt;span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;CONFIG_NRF53_MULTI_IMAGE_UPDATE&lt;/span&gt; (which is a &amp;quot;&lt;/span&gt;simultaneous multi-image DFU&amp;quot; mode) I still need to upload the images for the app core and the net core separately in serial recovery mode? In that case, would&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;mcumgr image upload -n 3&lt;/span&gt;&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;build//zephyr/net_core_app_update.bin&lt;/span&gt; be the correct invocation?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/440978?ContentTypeID=1</link><pubDate>Fri, 11 Aug 2023 13:50:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da1dd508-d6fa-4179-b101-e6efa7f3b25e</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Bogdan,&lt;/p&gt;
&lt;p&gt;If your goal is&amp;nbsp;to have both multi-image update and serial recovery of both cores possible, then all you need is CONFIG_NRF53_MULTI_IMAGE_UPDATE. You can see it mentioned here:&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/pastedimage1691761672235v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;To setup serial recovery over USB CDC instead of UART, you can refer to Hellesvik&amp;#39;s sample. Even though it is for NCS v2.3.0, it should still be applicable to NCS v2.4.x.&lt;/p&gt;
&lt;p&gt;Refer:&amp;nbsp;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/blob/v2.3.0/bootloader_samples/serial_recovery/mcuboot_serial_recovery_cdc_acm/child_image/mcuboot.conf#L4-L9"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/blob/v2.3.0/bootloader_samples/serial_recovery/mcuboot_serial_recovery_cdc_acm/child_image/mcuboot.conf#L4-L9&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;# Enable MCUboot Serial Recovery
CONFIG_MCUBOOT_SERIAL=y
CONFIG_UART_CONSOLE=n

# Point Serial Recovery to CDC_ACM
CONFIG_BOOT_SERIAL_CDC_ACM=y&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/440964?ContentTypeID=1</link><pubDate>Fri, 11 Aug 2023 12:50:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22fe6a4c-401c-49ff-aeec-0b7e838ad21f</guid><dc:creator>Bogdan Marinescu</dc:creator><description>&lt;p&gt;Hi Hieu, thanks for your reply. That phrase can be understood both ways, but the Kconfig definition of &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;NRF53_RECOVERY_NETWORK_CORE&lt;/span&gt; does make things clear. However, I think I didn&amp;#39;t explain my original issue clearly enough. I don&amp;#39;t really care if I can enable&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;NRF53_RECOVERY_NETWORK_CORE&lt;/span&gt; and&amp;nbsp;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;NRF53_MULTI_IMAGE_UDPATE&lt;/span&gt; at the same time, all I care about is to have a way to use DFU on both cores on BLE and USB CDC (recovery mode), whatever the config option(s) are. The link in my original post (&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/device_guides/working_with_nrf/nrf53/nrf5340.html#simultaneous-multi-image-dfu"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/device_guides/working_with_nrf/nrf53/nrf5340.html#simultaneous-multi-image-dfu&lt;/a&gt;) does not state if it is possible to use USB CDC when&amp;nbsp;&lt;span&gt;NRF53_MULTI_IMAGE_UDPATE is enabled and how to do that with mcumgr if it is. That is the part that I&amp;#39;m interested in.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about multi-image DFU on nRF5340 in nRF Connect SDK 2.4.1 (yes, again)</title><link>https://devzone.nordicsemi.com/thread/440963?ContentTypeID=1</link><pubDate>Fri, 11 Aug 2023 12:43:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0be226dc-b6bb-4957-bca2-ec2f6a2fbdea</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Bogdan,&lt;/p&gt;
&lt;p&gt;Regarding this line&lt;/p&gt;
[quote user=""]&amp;quot;To enable the serial recovery of the network core while the multi-image update is not enabled in the MCUboot [...]&amp;quot;[/quote]
&lt;p&gt;Could you please take another look at it? It is about enabling serial recovery of network core &amp;quot;while the multi-image update &lt;span style="text-decoration:underline;"&gt;is not enabled&lt;/span&gt; in MCUboot.&amp;quot;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The way I understand it is the opposite of what you said. I read it as a guide to enabling serial recovery but when multi-image update is disabled.&lt;/p&gt;
&lt;p&gt;This does not contradict with the Kconfig definition.&lt;/p&gt;
&lt;p&gt;I have relayed your interest to enable both feature at the same time with our engineers. However, as a support engineer on DevZone, I cannot comment on when that feature would be possible. My apology for the inconvenience.&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>