<?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>Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/95729/configure-bluetooth-peripheral-uart-application-bootloader-and-etc</link><description>Hi ! 
 I have selected sample https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/samples/bluetooth/peripheral_uart/README.html#peripheral-uart 
 as basis for evaluate USB_CDC_ACM connectivity to app core and USB_CDC_ACM Recovery mode ( app</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 Jan 2023 13:14:53 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/95729/configure-bluetooth-peripheral-uart-application-bootloader-and-etc" /><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406852?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 13:14:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:784e9e3f-3a12-4739-8b1e-631389823104</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;Hi !&lt;/p&gt;
&lt;p&gt;But it is not visible any delay like flash whole network image from SRAM to flash,&lt;/p&gt;
&lt;p&gt;Can flashing be done block by block ? Or due SHA calculations, it is loaded to SRAM as first step.&lt;/p&gt;
&lt;p&gt;Just to understand at what point image verification done in case of app and network images in case of recovery flashing.&lt;/p&gt;
&lt;p&gt;Image can be flashed but not boot or if it not pass verification , it is not even flashing.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Eugene&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406830?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 11:33:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45183f1f-82aa-4f32-adf3-445f8a4249c9</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;From partition_manager_report:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;  ram_flash (0x40000 - 256kB): 
+------------------------------------------+
| 0x0: mcuboot_primary_1 (0x40000 - 256kB) |
| 0x40000: ram_flash (0x0 - 0B)            |
+------------------------------------------+
  sram_primary (0x80000 - 512kB): 
+-----------------------------------------------+
| 0x20000000: pcd_sram (0x2000 - 8kB)           |
| 0x20002000: sram_primary (0x6e000 - 440kB)    |
| 0x20070000: rpmsg_nrf53_sram (0x10000 - 64kB) |
+-----------------------------------------------+
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;As you see, mcuboot_primary_1 is inside ram_flash.&lt;/p&gt;
&lt;p&gt;I think that the image is written to mcuboot_primary_1, and then &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/libraries/dfu/pcd.html"&gt;PCD &lt;/a&gt;is used to transfer the image to the network core via pcd_sram.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406810?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 09:45:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:288382fe-e15b-4b0a-b686-d4a45bb16ff7</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;Hi !&lt;/p&gt;
&lt;p&gt;Can it be some RAM partition ?&lt;/p&gt;
&lt;p&gt;I can see these lines in generated .config&lt;/p&gt;
&lt;p&gt;CONFIG_NRF53_RECOVERY_NETWORK_CORE=y&lt;br /&gt;CONFIG_NRF53_MCUBOOT_PRIMARY_1_RAM_FLASH=y&lt;br /&gt;CONFIG_NRF53_RAM_FLASH_SIZE=0x40000&lt;/p&gt;
&lt;p&gt;And writing to it translated to network flash ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Eugene&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406795?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 08:49:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7b8b13e-2986-46a2-9f91-ac001fce5e19</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Hiihtaja"]Yes, I have tried in serial recovery as well. What is partition 3&amp;nbsp; ? It is SRAM ?[/quote]
&lt;p&gt;I think the numbering here is a bit bugged.&lt;br /&gt;So I am not sure which one number 3 is.&lt;/p&gt;
&lt;p&gt;My guess is that it is mcuboot_primary_1.&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;In case of SMP server in application, I think I need flash memory extra space for app and network.&lt;/p&gt;
&lt;p&gt;Is this so ?&lt;/p&gt;[/quote]
&lt;p&gt;I assume you mean external flash?&lt;/p&gt;
&lt;p&gt;You do not have to have external flash for this to work.&lt;/p&gt;
&lt;p&gt;Since you need a secondary slot, the application only have half flash available, so you may want to have external flash for that reason.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406785?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 08:16:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:95578a01-b87a-47c0-b6be-343c331d5269</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;Hi !&lt;/p&gt;
&lt;p&gt;Yes, I have tried in serial recovery as well. What is partition 3&amp;nbsp; ? It is SRAM ?&lt;/p&gt;
&lt;p&gt;In case of SMP server in application, I think I need flash memory extra space for app and network.&lt;/p&gt;
&lt;p&gt;Is this so ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Eugene&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406782?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 08:04:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d6ef78c-0aed-44ac-9953-1783c19016b3</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Hiihtaja"]CONFIG_MCUMGR=y&lt;br /&gt;CONFIG_MCUMGR_SMP_UART=y&lt;br /&gt;CONFIG_MCUMGR_CMD_IMG_MGMT=y[/quote]
&lt;p&gt;The sample is configured for Serial Recovery, so the above configuration is not needed.&lt;/p&gt;
&lt;p&gt;To enter Serial Recovery mode, hold Button 1 when resetting.&lt;br /&gt;LED1 should now light up, signaling that the board is in Serial Recovery mode.&lt;/p&gt;
&lt;p&gt;Now you can use mcumgr commands.&lt;/p&gt;
&lt;p&gt;If you want to use an SMP Server in the Application&amp;nbsp; instead, try my &lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340/mcuboot_smp_ble_nonsimultaneous"&gt;Non Simultaneous update of nRF5340 sample &lt;/a&gt;instead.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406781?ContentTypeID=1</link><pubDate>Fri, 27 Jan 2023 08:00:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:960bdb21-ef38-4a91-b0be-80d86cd64a19</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;Hi !&lt;/p&gt;
&lt;p&gt;I should enable in prj.conf few lines in your sample&lt;/p&gt;
&lt;p&gt;CONFIG_MCUMGR=y&lt;br /&gt;CONFIG_MCUMGR_SMP_UART=y&lt;br /&gt;CONFIG_MCUMGR_CMD_IMG_MGMT=y&lt;/p&gt;
&lt;p&gt;$ mcumgr -c acm1 image upload build/zephyr/net_core_app_update.bin -n 3&lt;br /&gt; 181.71 KiB / 181.71 KiB [===============================================================================================================] 100.00% 1.80 KiB/s 1m41s&lt;br /&gt;Done&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;App image is also uploaded to some space&lt;/p&gt;
&lt;p&gt;$ mcumgr -c acm1 image upload build/zephyr/app_update.bin&lt;br /&gt; 58.02 KiB / 58.02 KiB [=====================================================================================================================] 100.00% 956 B/s 1m2s&lt;br /&gt;Done&lt;/p&gt;
&lt;p&gt;But actual update is not happens.&lt;/p&gt;
&lt;p&gt;Partition info&lt;/p&gt;
&lt;p&gt;&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/pastedimage1674806213329v3.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;But how images are updated on fly ?&lt;/p&gt;
&lt;p&gt;Looks like network and app core is up and running with normal images and need to be&amp;nbsp;&lt;/p&gt;
&lt;p&gt;updated by MCUMGR&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Eugene&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406685?ContentTypeID=1</link><pubDate>Thu, 26 Jan 2023 14:12:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e1d05e8-8c7c-43ef-9705-2bbfa1966a29</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;Looks like I should inform mcuboot or/and b0n that image in that slot and force update somehow.&lt;/p&gt;
&lt;p&gt;How I can do it ? Does reboot is mandatory ?&lt;/p&gt;[/quote]
&lt;p&gt;For SMP Server in the application, you need to tag the new image with either &amp;quot;test&amp;quot; or &amp;quot;confirm&amp;quot;.&lt;/p&gt;
&lt;p&gt;For Serial Recovery, you upload it directly. Here is a quick sample I made to test this:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/mcuboot_5F00_netcore_5F00_serial_5F00_recovery.zip"&gt;devzone.nordicsemi.com/.../mcuboot_5F00_netcore_5F00_serial_5F00_recovery.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To upload to the netcore, use&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;mcumgr&amp;#160; -c acm1 image upload build/zephyr/net_core_app_update.bin&amp;#160; -n 3&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then wait for ca 2 minutes before restarting the device.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406474?ContentTypeID=1</link><pubDate>Wed, 25 Jan 2023 13:38:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a75188a4-229e-4e3b-8c0e-182f9d509998</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Sigurd Hellesvik !&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Can we look more close this picture:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m able to upload network update to second app slot in internal memory by&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;$ mcumgr -c acm2 image upload -e build/zephyr/net_core_app_update.bin -n 3&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;when upload complete, MCUboot show traces&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;Turned on network core&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;But nothing is not happens after that and after reboot.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Partition info looks correct:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;$ west build -t partition_manager_report&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;-- west build: running target partition_manager_report&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;[...build/cpunet/partitions_CPUNET.yml&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;flash_primary (0x100000 - 1024kB):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x0: mcuboot (0x18000 - 96kB)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+---0x18000: mcuboot_primary (0x74000 - 464kB)-----+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x18000: mcuboot_pad (0x200 - 512B)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+---0x18200: mcuboot_primary_app (0x73e00 - 463kB)-+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x18200: app (0x73e00 - 463kB) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x8c000: mcuboot_secondary (0x74000 - 464kB) &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;otp (0x2fc - 764B):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0xff8100: otp (0x2fc - 764B) |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;ram_flash (0x40000 - 256kB):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x0: mcuboot_primary_1 (0x40000 - 256kB) |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x40000: ram_flash (0x0 - 0B)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;sram_primary (0x80000 - 512kB):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x20000000: pcd_sram (0x2000 - 8kB)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x20002000: sram_primary (0x7e000 - 504kB) |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;CPUNET flash_primary (0x40000 - 256kB):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+---0x1000000: b0n_container (0x8800 - 34kB)-+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x1000000: b0n (0x8580 - 33kB) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x1008580: provision (0x280 - 640B)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+---0x1008800: app (0x37800 - 222kB)---------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x1008800: cpunet (0x37800 - 222kB)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+--------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;CPUNET sram_primary (0x10000 - 64kB):&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+-------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;| 0x21000000: sram_primary (0x10000 - 64kB) |&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;+-------------------------------------------+&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Looks like I should inform mcuboot or/and b0n that image in that slot and force update somehow.&lt;/p&gt;
&lt;p&gt;How I can do it ? Does reboot is mandatory ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Eugene&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406241?ContentTypeID=1</link><pubDate>Tue, 24 Jan 2023 12:45:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76a51c54-7acf-44b7-80f5-864f8998036e</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="Hiihtaja"]CONFIG_NRF53_RECOVERY_NETWORK_CORE[/quote]
&lt;p&gt;I have not seen this one before!&lt;/p&gt;
&lt;p&gt;But it looks like you should be able to use Serial Recovery to update the netcore using this option.&lt;br /&gt;Then you will not need hooks I think.&lt;/p&gt;
&lt;p&gt;I see that there are overlays in &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/samples/bluetooth/peripheral_uart/README.html"&gt;The Bluetooth Peripheral UART&lt;/a&gt; sample.&lt;/p&gt;
&lt;p&gt;Try this to see if it works.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/406045?ContentTypeID=1</link><pubDate>Mon, 23 Jan 2023 13:52:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f91c60e7-f74e-4694-9b09-9325643781ba</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Sigurd Hellesvik !&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If I understood mRF Connect SDK v2.1.0 release note, flag&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;CONFIG_NRF53_RECOVERY_NETWORK_CORE specially designed for support direct update of network core. Like MCUBoot should load complete network image to shared SRAM and after that network core will update own flash.&amp;nbsp; This is simplest scheme of firmware update and may be it is implemented like this. Need to be investigated.&lt;/p&gt;
&lt;p&gt;Or how I should understand &amp;quot;&lt;span&gt;So if you use serial recovery, I think the easiest fix is to change the hook or add a new custom hook.&amp;quot; ? It is implemented and need some error fix or it is expected to work in other way ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Eugene&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: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405999?ContentTypeID=1</link><pubDate>Mon, 23 Jan 2023 10:35:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:758704cc-60d2-4925-9a65-3eefbda75bbc</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Hiihtaja"]&lt;span&gt;1. App and Netcore flash memory can be split to 2 banks and firmware updates via reboot.&lt;/span&gt;[/quote]
&lt;p&gt;App flash: 1 bank (Primary slot)&lt;br /&gt;External flash: 1 bank (Secondary slot)&lt;br /&gt;Net flash: 1 bank&amp;nbsp; (Netcore flash)&lt;/p&gt;
&lt;p&gt;The App flash is split into 2 banks. (Primary slot and Secondary slot) &lt;br /&gt;The Netcore flash only has 1 bank. (Netcore flash)&lt;/p&gt;
&lt;p&gt;SMP Server support: Yes&lt;br /&gt;Serial Recovery support: require a custom hook or fixing of existing hook&lt;/p&gt;
[quote user="Hiihtaja"]&lt;span&gt;2. Similar to 1st case but second copy can be stored in external flash memory.&lt;/span&gt;[/quote]
&lt;p&gt;SMP Server support: Yes&lt;/p&gt;
&lt;p&gt;App flash: 1 bank (Primary slot)&lt;br /&gt;External flash: 1 bank (Secondary slot)&lt;br /&gt;Net flash: 1 bank&amp;nbsp; (Netcore flash)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Serial Recovery support: A(No) or B(Yes)&lt;/p&gt;
&lt;p&gt;A: require a custom hook or fixing of existing hook:&lt;/p&gt;
&lt;p&gt;App flash: 1 bank (Primary slot)&lt;br /&gt;External flash: 1 bank (Secondary slot)&lt;br /&gt;Net flash: 1 bank&amp;nbsp; (Netcore flash)&lt;/p&gt;
&lt;p&gt;B: Works as in the Machine Learning sample, but with 1 extra partition&lt;/p&gt;
&lt;p&gt;App flash: 1 bank (Primary slot)&lt;br /&gt;External flash: 2 banks (Secondary slot and Secondary Slot 1)&lt;br /&gt;Net flash: 1 bank&amp;nbsp; (Netcore flash)&lt;/p&gt;
[quote user="Hiihtaja"]&lt;span&gt;3. Serial recovery for app core ( direct flashing ) and 2 nd copy of network core image can be located in app flash memory&amp;nbsp;&lt;/span&gt;&lt;span&gt;OR external flash memory.&lt;/span&gt;[/quote]
&lt;p&gt;I am unsure what you mean here, but is this not covered by either 1 or 2?&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;&lt;span&gt;4. Serial recovery for network core is not possible, entire network image should e stored somewhere as first step and updated over reboot.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It is not possible to flash network core image on fly e.g by some portions via shared memory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But it might be implemented by using hook mechanism .&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is this so ?&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;The Appcore can not write to netcore flash.&lt;/p&gt;
&lt;p&gt;But you can try to use the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/dfu/pcd.html"&gt;PCD library&lt;/a&gt; from the application to update the netcore.&lt;br /&gt;That would &lt;strong&gt;not&lt;/strong&gt; be a hook.&lt;/p&gt;
&lt;p&gt;The current design is the folliwng:&lt;br /&gt;Save netcore update to APPCORE flash.&lt;br /&gt;On MCUboot start, MCUboot will run a &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/main/modules/mcuboot/hooks/nrf53_hooks.c"&gt;hook&lt;/a&gt;.&lt;br /&gt;This hook checks if there is a netcore update in Secondary slot.&lt;br /&gt;If netcore update found, use PCD to update netcore.&lt;/p&gt;
&lt;p&gt;So if you use serial recovery, I think the easiest fix is to change the hook or add a new custom hook.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405977?ContentTypeID=1</link><pubDate>Mon, 23 Jan 2023 09:12:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:462e3243-cfdc-4d9f-ad4e-e0f152a0d844</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;&lt;span&gt;Hi Sigurd Hellesvik !&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Looks like a lot of variants of FW updates and what is currently known state ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1. App and Netcore flash memory can be split to 2 banks and firmware updates via reboot.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. Similar to 1st case but second copy can be stored in external flash memory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;3. Serial recovery for app core ( direct flashing ) and 2 nd copy of network core image can be located in app flash memory&amp;nbsp;&lt;/span&gt;&lt;span&gt;OR external flash memory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So this method might work or might not&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4. Serial recovery for network core is not possible, entire network image should e stored somewhere as first step and updated over reboot.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It is not possible to flash network core image on fly e.g by some portions via shared memory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But it might be implemented by using hook mechanism .&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is this so ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Just to understand&amp;nbsp;what schemes are work for sure, what can exists and can be configured and what can be implemented by hook mechanism.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Eugene&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: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405875?ContentTypeID=1</link><pubDate>Fri, 20 Jan 2023 15:01:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ecb3f921-c773-4fc5-88c7-558210484f9a</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>[quote user="Sigurd Hellesvik"]&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/libraries/dfu/pcd.html"&gt;&lt;span style="text-decoration:line-through;"&gt;PCD&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration:line-through;"&gt; is enabled in MCUboot.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;So it will update the network core after upload the image, before a reboot. &lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;Because of this, I recommend that you wait 1-2 minutes after the upload is done before resetting the device.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;Then the new netcore image should run on the net-core on the next reboot.&lt;/span&gt;[/quote]
&lt;p&gt;PCD is enabled for MCUboot for both serial recovery and normal operations.&lt;br /&gt;First, a new update for NET core is uploaded to the secondary slot.&lt;br /&gt;Then on a reboot, MCUboot will check this slot. If the secondary slot has an image for the NET core, MCUboot will perform the swap operation&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;8. It might be so that sample is close to your picture&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But this moment is not so clear : &amp;quot;&lt;span&gt;When updating the network core, the new image will be saved to the secondary slot. On a reboot, the image will be swapped with the network core over the shared SRAM:&amp;quot;&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;After some testing, it seems like this figure works for SMP Server + MCUboot but not for Serial Recovery.&lt;br /&gt;It seems that serial recovery only permits one slot by default.&lt;br /&gt;If we are able to configure serial recovery to use two slots here, we could upload a new netcore image to the secondary slot, and the update should be applied.&lt;/p&gt;
&lt;p&gt;Another alternative could be to implement a &lt;a href="https://github.com/nrfconnect/sdk-mcuboot/blob/main/boot/zephyr/hooks_sample.c"&gt;MCUboot hook&lt;/a&gt; to handle this.&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;External memory is not defined anywhere, extra partitions as well.&lt;/p&gt;
&lt;p&gt;Does this configuration is close to your picture&amp;nbsp;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or this is something else ?&lt;/p&gt;[/quote]
&lt;p&gt;For my external flash sample, it is not like this figure, because the external flash sample parts the flash into three slots. &lt;br /&gt;Use &amp;quot;Memory Report&amp;quot; in VS Code or &amp;quot;west build -t partition_manager_report&amp;quot; to see the slots.&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;How can looks configuration when :&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- Serial recovery method is required for both cores. e.g. direct update without usage of extra flash slots and external serial memory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- To avoid external memory usage, the case when application and network core images can be updated separately is also accepted ( but no idea if external memory is really needed in case of serial recovery and multiimage.zip).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- SMP server is located in MCUBoot only ( no need in application ) e.g update is triggered by GPIO line.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; Triggering works as expected and any GPIO line can be configured and I hope SMP server is not included by default in APP.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;[/quote]
&lt;p&gt;For the external flash example, if you run &amp;quot;mcumgr -acm0 image list&amp;quot;, you can see the serial recovery bootloader list 2 slots.&lt;br /&gt;I suggest that you try to figure out how the serial recovery enables the second slot in this sample.&lt;br /&gt;Then you should be able to configure the example with internal flash to also have a second slot in the same way.&lt;br /&gt;If you now upload a netcore image to this seconds slot, it should swap.&lt;/p&gt;
&lt;p&gt;Alternativley you could add an &lt;a href="https://github.com/nrfconnect/sdk-mcuboot/blob/main/boot/zephyr/hooks_sample.c"&gt;MCUboot hook&lt;/a&gt; and make the primary slot also being checked for netcore updates.&lt;br /&gt;I think the current hook is&lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/main/modules/mcuboot/hooks/nrf53_hooks.c"&gt;https://github.com/nrfconnect/sdk-nrf/blob/main/modules/mcuboot/hooks/nrf53_hooks.c&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405457?ContentTypeID=1</link><pubDate>Wed, 18 Jan 2023 11:44:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9bf7bea0-1065-41c2-886a-93719a1b6e09</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi Eugene,&lt;/p&gt;
[quote user="Hiihtaja"]&lt;span&gt;&amp;nbsp;1. It looks as most advanced configuration when App and network core is huge and updated via proxy storage ( external memory only or some partitions in app memory ?)&lt;/span&gt;[/quote]
&lt;p&gt;When using the nRF5340 with bootloaders for both cores, you need three slots: primary, secondary and secondary_1.&lt;br /&gt;Splitting the flash memory into three will decrease available space. Therefore, the machine learning sample uses external flash for the secondary partitions.&lt;/p&gt;
[quote user="Hiihtaja"]&lt;span&gt;2. I have tried to enable any debug uart traces from both bootloaders but no any luck. Even all flags like UART log are set.&lt;/span&gt;[/quote]
&lt;p&gt;This is because the serial recovery use the uart. &lt;br /&gt;I recommend using UART if you need logs from the bootloader:&lt;br /&gt;See an example at &lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/blob/2ab21b02484dd41216454a33d7db8b4cd5c1952d/bootloader_samples/serial_recovery/mcuboot_serial_recovery_cdc_acm_wait/child_image/mcuboot.conf"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/blob/2ab21b02484dd41216454a33d7db8b4cd5c1952d/bootloader_samples/serial_recovery/mcuboot_serial_recovery_cdc_acm_wait/child_image/mcuboot.conf&lt;/a&gt; .&lt;/p&gt;
[quote user="Hiihtaja"]&lt;span&gt;3. What mean&amp;nbsp;-n flag for mcumgr ? It is not visible in help of utility ?&lt;/span&gt;[/quote]
&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/4073.pastedimage1674041257333v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Also see &lt;a href="https://docs.zephyrproject.org/3.2.0/services/device_mgmt/mcumgr.html"&gt;https://docs.zephyrproject.org/3.2.0/services/device_mgmt/mcumgr.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;and my own explanation from &lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/smp/mcuboot_smp#extra-steps-for-the-nrf5340"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/smp/mcuboot_smp#extra-steps-for-the-nrf5340&lt;/a&gt;:&lt;/p&gt;
&lt;p dir="auto"&gt;The -n numbers are set as follows:&lt;/p&gt;
&lt;div&gt;
&lt;pre&gt;&lt;code&gt;slot 0 - image 0 primary
slot 1 - image 0 secondary
slot 2 - image 1 primary (&amp;quot;Virtual&amp;quot; slot)
slot 3 - image 1 secondary
&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
[quote user="Hiihtaja"]&lt;span&gt;4. How networkapplication hci_rpmg defined as child project ? Definition is not visible in project files. Looks as some trick.&lt;/span&gt;[/quote]
&lt;p&gt;From &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf5340.html#protocols-and-use-cases"&gt;Working with nRF5340 DK&lt;/a&gt;, you can see that if CONFIG_BT=y, the build system will add &lt;a href="https://github.com/nrfconnect/sdk-zephyr/tree/main/samples/bluetooth/hci_rpmsg"&gt;hci_rpmsg&lt;/a&gt; to the system.&lt;br /&gt;Try to add a print to the sample, and see your net core print it on the net-core VCOM.&lt;/p&gt;
[quote user="Hiihtaja"]&lt;span&gt;&amp;nbsp;5. MCUBoot is visible as child image but n0b bootloader not. Does it appears somehow automatically ?&lt;/span&gt;[/quote]
&lt;p&gt;It is because n0b is a child image of hci_rpmsg. &lt;br /&gt;You can see it at build/hci_rpmsg/b0n.&lt;/p&gt;
[quote user="Hiihtaja"]&lt;p&gt;Should they be updated directly or via hiddent reboot ?&lt;/p&gt;
&lt;p&gt;Or how whole flow works in your sample ?&lt;/p&gt;[/quote]
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/libraries/dfu/pcd.html"&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;PCD&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration:line-through;"&gt; is enabled in MCUboot.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;So it will update the network core after upload the image, before a reboot. &lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;Because of this, I recommend that you wait 1-2 minutes after the upload is done before resetting the device.&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration:line-through;"&gt;Then the new netcore image should run on the net-core on the next reboot.&lt;br /&gt;&lt;/span&gt;EDIT: I am unsure of this, and will have to research it a bit more as well.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I will have to look into the last questions, and come back to answer them by end of friday.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405436?ContentTypeID=1</link><pubDate>Wed, 18 Jan 2023 10:36:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c08f6127-ff01-443d-a0e2-0ea4216ef263</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Sigurd Hellesvik !&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you !&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I&amp;#39;m using Ubuntu 20.04 and latest v2.2.0 SDK for my questions and examples.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Few overall questions about example&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/mcuboot_5F00_serial_5F00_recovery_5F00_cdc_5F00_acm_5F00_nrf5340_5F00_external_5F00_flash_5F00_both_5F00_cores.zip"&gt;mcuboot_serial_recovery_cdc_acm_nrf5340_external_flash_both_cores.zip&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I have build iit from command line&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;west build --pristine --board nrf5340dk_nrf5340_cpuapp -- -DDTC_OVERLAY_FILE=&amp;quot;app.overlay&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;1. It looks as most advanced configuration when App and network core is huge and updated via proxy storage ( external memory only or some partitions in app memory ?)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. I have tried to enable any debug uart traces from both bootloaders but no any luck. Even all flags like UART log are set.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;3. What mean&amp;nbsp;-n flag for mcumgr ? It is not visible in help of utility ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;4. How networkapplication hci_rpmg defined as child project ? Definition is not visible in project files. Looks as some trick.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;5. MCUBoot is visible as child image but n0b bootloader not. Does it appears somehow automatically ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;6. Network core image is updated without problem:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; mcumgr -c acm2 image upload build/zephyr/net_core_app_update.bin -n 3&lt;br /&gt; 181.71 KiB / 181.71 KiB [=========================================================================================================================] 100.00% 1.33 KiB/s 2m16s&lt;br /&gt;Done&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;But app and composite always freeze at the end.&lt;/p&gt;
&lt;p&gt;mcumgr -c acm2 image upload build/zephyr/app_update.bin -n 3&lt;br /&gt; 46.77 KiB / 46.91 KiB [====================================================================================================================================] 99.71% 477 B/s&lt;/p&gt;
&lt;p&gt;mcumgr -c acm2 image upload build/zephyr/dfu_application.zip -n 3&lt;br /&gt; 230.07 KiB / 230.18 KiB [===================================================================================================================================] 99.95% 22 B/s&lt;/p&gt;
&lt;p&gt;Should they be updated directly or via hiddent reboot ?&lt;/p&gt;
&lt;p&gt;Or how whole flow works in your sample ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;7. I have study sample in more details and by using your example , have changed MCUboot partition&amp;nbsp; size and move it to USB serial port.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/samples/bluetooth/peripheral_uart/README.html#peripheral-uart"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/samples/bluetooth/peripheral_uart/README.html#peripheral-uart&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;App and net cores can be updated one by one.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;8. It might be so that sample is close to your picture&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But this moment is not so clear : &amp;quot;&lt;span&gt;When updating the network core, the new image will be saved to the secondary slot. On a reboot, the image will be swapped with the network core over the shared SRAM:&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I look for MCUBoot configuration what updating of both cores are not required usage any spare memory on internal flash memory and external one.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;peripheral uart bootloader configuration ( important parts) looks like this &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;CONFIG_FLASH=y&lt;/p&gt;
&lt;p&gt;# MCUBoot serial&lt;br /&gt;CONFIG_MCUBOOT_SERIAL=y&lt;br /&gt;CONFIG_MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD=y&lt;/p&gt;
&lt;p&gt;# The following configurations are required to support serial recovery of the&lt;br /&gt;# network image&lt;br /&gt;CONFIG_PCD_APP=y&lt;/p&gt;
&lt;p&gt;CONFIG_FLASH_SIMULATOR=y&lt;br /&gt;CONFIG_FLASH_SIMULATOR_DOUBLE_WRITES=y&lt;br /&gt;CONFIG_FLASH_SIMULATOR_STATS=n&lt;/p&gt;
&lt;p&gt;CONFIG_BOOT_IMAGE_ACCESS_HOOKS=y&lt;br /&gt;CONFIG_NRF53_RECOVERY_NETWORK_CORE=y&lt;/p&gt;
&lt;p&gt;CONFIG_MCUBOOT_INDICATION_LED=y&lt;/p&gt;
&lt;p&gt;# Extra&lt;br /&gt;CONFIG_BOOT_SERIAL_CDC_ACM=y&lt;br /&gt;CONFIG_SIZE_OPTIMIZATIONS=y&lt;br /&gt;CONFIG_UART_CONSOLE=y&lt;br /&gt;CONFIG_LOG=y&lt;/p&gt;
&lt;p&gt;CONFIG_UPDATEABLE_IMAGE_NUMBER=1&lt;/p&gt;
&lt;p&gt;External memory is not defined anywhere, extra partitions as well.&lt;/p&gt;
&lt;p&gt;Does this configuration is close to your picture&amp;nbsp;&lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update"&gt;https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/nrf5340#non-simultaneous-update&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or this is something else ?&lt;/p&gt;
&lt;p&gt;How can looks configuration when :&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- Serial recovery method is required for both cores. e.g. direct update without usage of extra flash slots and external serial memory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- To avoid external memory usage, the case when application and network core images can be updated separately is also accepted ( but no idea if external memory is really needed in case of serial recovery and multiimage.zip).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- SMP server is located in MCUBoot only ( no need in application ) e.g update is triggered by GPIO line.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; Triggering works as expected and any GPIO line can be configured and I hope SMP server is not included by default in APP.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Eugene&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&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: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405276?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2023 13:57:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1375e44a-a0fc-4b29-98c5-9407b46a2075</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Instead of answering your questions one by one, I created an example to do the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Serial Recovery over CDC_ACM&lt;/li&gt;
&lt;li&gt;For both cores of the nRF5340&lt;/li&gt;
&lt;li&gt;nRF Connect SDK v2.2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/mcuboot_5F00_serial_5F00_recovery_5F00_cdc_5F00_acm_5F00_nrf5340_5F00_external_5F00_flash_5F00_both_5F00_cores.zip"&gt;devzone.nordicsemi.com/.../mcuboot_5F00_serial_5F00_recovery_5F00_cdc_5F00_acm_5F00_nrf5340_5F00_external_5F00_flash_5F00_both_5F00_cores.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The configurations for this sample is based on &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.2.0/nrf/applications/machine_learning/README.html"&gt;nRF Machine Learning sample&lt;/a&gt;.&lt;br /&gt;The base is from my unofficial &lt;a href="https://github.com/hellesvik-nordic/samples_for_nrf_connect_sdk/tree/main/bootloader_samples/serial_recovery/mcuboot_serial_recovery_cdc_acm"&gt;Serial Recovery sample&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You upload an update to the network core using:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;mcumgr  -c acm0 image upload build/zephyr/net_core_app_update.bin -n 3
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;PS: You might have to shorten the projects name before building if you use windows.&lt;/p&gt;
&lt;p&gt;I hope this can help you.&lt;/p&gt;
&lt;p&gt;Let me know which of your questions are still relevant after looking at this sample.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configure Bluetooth: Peripheral UART application, bootloader and etc.</title><link>https://devzone.nordicsemi.com/thread/405218?ContentTypeID=1</link><pubDate>Tue, 17 Jan 2023 11:53:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4458d606-cf4c-4cce-bc2d-147805b9a341</guid><dc:creator>Hiihtaja</dc:creator><description>&lt;p&gt;Hi !&lt;/p&gt;
&lt;p&gt;Just correction for my question.&lt;/p&gt;
&lt;p&gt;1. No success with usage of USB_CDC_ACM&amp;nbsp; in actual application e.g lines&lt;/p&gt;
&lt;p&gt;&lt;span&gt;west build --build-dir ./build&amp;nbsp; . --pristine --board nrf5340dk_nrf5340_cpuapp -- -DBOARD_ROOT=. -DDTC_OVERLAY_FILE=&amp;quot;usb.overlay&amp;quot; -DCONF_FILE=&amp;quot;prj_cdc.conf&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m able to build image with MCUboot by using command line:&lt;/p&gt;
&lt;p&gt;$ west build --build-dir ./build&amp;nbsp; . --pristine --board nrf5340dk_nrf5340_cpuapp -- -DBOARD_ROOT=. -DDTC_OVERLAY_FILE=&amp;quot;app.overlay&amp;quot; -DCONF_FILE=&amp;quot;prj.conf&amp;quot; -DOVERLAY_CONFIG=&amp;quot;nrf5340dk_app_sr_net.conf&amp;quot; -Dmcuboot_OVERLAY_CONFIG=&amp;quot;$(pwd)/nrf5340dk_mcuboot_sr_net.conf&amp;quot;&lt;/p&gt;
&lt;p&gt;I have got set of images&lt;/p&gt;
&lt;p&gt;[293/303] Generating ../../zephyr/app_update.bin&lt;br /&gt;sign the payload&lt;br /&gt;[294/303] Generating ../../zephyr/net_core_app_update.bin&lt;br /&gt;sign the payload&lt;br /&gt;[296/303] Generating ../../zephyr/net_core_app_signed.hex&lt;br /&gt;sign the payload&lt;br /&gt;[297/303] Generating ../../zephyr/net_core_app_test_update.hex&lt;br /&gt;sign the payload&lt;br /&gt;[299/303] Generating ../../zephyr/app_test_update.hex&lt;br /&gt;sign the payload&lt;br /&gt;[300/303] Generating ../../zephyr/app_signed.hex&lt;br /&gt;sign the payload&lt;br /&gt;[303/303] Generating zephyr/merged_domains.hex&lt;/p&gt;
&lt;p&gt;where&amp;nbsp;&lt;span&gt;app_update.bin and&amp;nbsp;net_core_app_update.bin can be used by mcumgr for update firmware.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But really it is not so clear where are separate images for mcuboot and b0n updates what can be used for initial flashing of a board.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Looks like composite images only.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Due lack of traces difficalt to conclude how&amp;nbsp;nrf5340dk_mcuboot_sr_net.conf really works. Does external memory in use or not.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;How serial recovery work in this case ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Eugene&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&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>