<?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>Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/115674/read-network-core-app-version-from-app-core-nrf5340-v2-6-1-to-confirm-successful-update</link><description>Hello, 
 We tried using pcd_network_core_app_version() to read the network core version (presumably set by CONFIG_FW_INFO_FIRMWARE_VERSION in our hci_ipc.conf) from the app core. To do this, we set the following flags to the app core prj.conf: 
 
 
 </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Oct 2024 14:11:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/115674/read-network-core-app-version-from-app-core-nrf5340-v2-6-1-to-confirm-successful-update" /><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507400?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 14:11:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c5cd3ca-0db6-4e8c-a05f-1e79bfc500a3</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ever,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I was checking a little bit internally. It seems that it&amp;#39;s not possible to read the net core image version from the application on app core. It&amp;#39;s possible to do so from the MCUBoot but not from the app.&amp;nbsp;&lt;br /&gt;This has been asked before:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/108890/nrf5340-get-netcore-fw_info-from-appcore"&gt;NRF5340 GET NETCORE FW_INFO FROM APPCORE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The reason for that is that the B0n doesn&amp;#39;t run when the application is running. It&amp;#39;s only run when MCUBoot running and that when MCUBoot can communicate with B0n via PCD library.&lt;br /&gt;&lt;br /&gt;Please be aware that the downgrade avoidance feature is available by default in MCUBoot. My assumption is that you want to read the netcore version to avoid having to download old image version ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;One workaround I can think of is to modify MCUBoot to read the image version on each boot and find away to send that to the application, for example via writing to flash or RAM.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507309?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 10:30:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2915d7a-bb96-4d0a-b7c8-554b2151a21f</guid><dc:creator>responsible_duck</dc:creator><description>&lt;p&gt;Please see attached .config files from build, maybe we are still missing something. We also tried by enabling CONFIG_NRF53_MULTI_IMAGE_UPDATE=y and it still failed.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/hci_5F00_ipc_2E00_config"&gt;devzone.nordicsemi.com/.../hci_5F00_ipc_2E00_config&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/b0n_2E00_config"&gt;devzone.nordicsemi.com/.../b0n_2E00_config&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/app_5F00_core_2E00_config"&gt;devzone.nordicsemi.com/.../app_5F00_core_2E00_config&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/mcuboot_2E00_config"&gt;devzone.nordicsemi.com/.../mcuboot_2E00_config&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507308?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 10:26:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d41ece67-7666-4b0d-8a51-751abaeb45b5</guid><dc:creator>responsible_duck</dc:creator><description>&lt;p&gt;This is the output right before starting install process:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;
Images:
image=0 slot=0
version: 0.0.1
bootable: true
flags: active confirmed
hash: 1442099e438cd871d9fc389d9242ffb94f9deafec6565f4bbf1d7846725f1d67


image=1 slot=0
version: 0.0.0
bootable: true
flags: confirmed
hash: Unavailable


image=1 slot=1
version: 0.0.2
bootable: true
flags: pending
hash: 4c384da3fb8c8089d1a9722a042193d71fcf2106963c36a91a1b0a45253e5cda
Split status: N/A (0)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507306?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 10:24:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:faa8c28f-8127-4386-a148-defd4dec9dfd</guid><dc:creator>responsible_duck</dc:creator><description>&lt;p&gt;Hi thanks,&lt;/p&gt;
&lt;p&gt;I saw the attached example as well as the discussion. Based on this I added the following:&lt;/p&gt;
&lt;p&gt;mcuboot.conf:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_BOOT_VERSION_CMP_USE_BUILD_NUMBER&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MCUBOOT_DOWNGRADE_PREVENTION&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_FW_INFO&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD_APP&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD_READ_NETCORE_APP_VERSION&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_BOOT_SWAP_SAVE_ENCTLV&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;n&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;in netboot prj.conf:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD_READ_NETCORE_APP_VERSION&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;in hci_ipc.conf:&lt;br /&gt;
&lt;div&gt;&lt;span&gt;CONFIG_FW_INFO_FIRMWARE_VERSION&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_FW_INFO&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;in main app prj.conf:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD_APP&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_FW_INFO&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD_READ_NETCORE_APP_VERSION&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_MCUBOOT_USE_ALL_AVAILABLE_RAM&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;y&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;It seems we are actually getting stuck in the same code area as the post you linked: &amp;quot;the program hangs&amp;nbsp; in the &amp;quot;do while&amp;quot; loop&amp;nbsp; of the function: network_core_pcd_cmdset in the file pcd.c&amp;quot;. This happens when trying to begin the image install (moving from image 1 slot 1 to image 1 slot 0). Note that we are not doing simultaneous updates of both net and app core as we do not expect to update interface between them and we don&amp;#39;t have a lot of space to hold both combined. One of our requirements is to be able to reverse images upon failure/fault.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507272?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2024 08:11:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b1d91a6-5560-4654-b840-8de9d5255b68</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ever,&amp;nbsp;&lt;br /&gt;Could you tell if you have managed to do DFU update for the netcore ? I would need to know if the bootloader on the netcore is working properly.&amp;nbsp;&lt;br /&gt;The&amp;nbsp;&lt;span&gt;pcd_network_core_app_version() requires the communication between the application on the app core and the bootloader on the netcore.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I would suggest to take a look at this sample from Amanda:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/113550/downgrade-protection-works-only-for-the-app_core--image-and-not-for-the-net-core--image/500078"&gt;RE: Downgrade protection works only for the app_core -image-and not for the net-core -image&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;She managed to make the functions work. Please take a look that she actually need to add&amp;nbsp;CONFIG_PCD_READ_NETCORE_APP_VERSION=y to the hci ipc b0n image:&amp;nbsp;&lt;br /&gt;-Dhci_ipc_b0n_CONFIG_PCD_READ_NETCORE_APP_VERSION=y&lt;br /&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><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507205?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2024 17:54:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3087b1d4-5471-4b41-85bc-f5aa3e8abfcf</guid><dc:creator>responsible_duck</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;Please ignore the &amp;lt;fw_info.h&amp;gt; detail. This was an accidental include when browsing the source code of 2.6.1.&lt;/p&gt;
&lt;p&gt;I updated the description above.&lt;/p&gt;
&lt;p&gt;We specifically want to read the firmware net core from the app core. So we added these flags to the app core image prj.conf:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_PCD=y
CONFIG_PCD_APP=y
CONFIG_FW_INFO=y
CONFIG_PCD_READ_NETCORE_APP_VERSION=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then we tried calling `&lt;span&gt;pcd_network_core_app_version()` from the app core (inspired by the code in loader.c that you mentioned) but it doesn&amp;#39;t seem to work.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;We are not supporting&amp;nbsp;CONFIG_NRF53_MULTI_IMAGE_UPDATE=y we want to do non-simultaneous updates only so that we may revert images since this is not supported with simultaneous multi-image updates.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Read network core app version from app core (nRF5340, v2.6.1) to confirm successful update</title><link>https://devzone.nordicsemi.com/thread/507166?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2024 13:35:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0bd7bc3d-e905-4cd1-827e-b35f21feb7c0</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ever,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have you managed to test multiple cores&amp;nbsp; update for nRF53 ?&amp;nbsp;&lt;br /&gt;As far as I know the&amp;nbsp;&lt;span&gt;\nrf\modules\mcuboot\hooks nrf53_hooks.c is calling&amp;nbsp;pcd_network_core_app_version() to compare netcore version&amp;nbsp;with&amp;nbsp;&lt;/span&gt;pcd_version_cmp_net(). This function is called in loader.c in MCUboot.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;You would need to define&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CONFIG_PCD_APP=y&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_NRF53_MULTI_IMAGE_UPDATE=y&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;CONFIG_PCD_READ_NETCORE_APP_VERSION&lt;/span&gt;&lt;span&gt;=y&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;I&amp;#39;m not so sure why defining&amp;nbsp;&lt;span&gt;&amp;lt;fw_info.h&amp;gt;, but could you try to check what in the loader.c ?&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>