<?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>nRF5340: Understanding Application Core to Network Core Interface Changes in DFU</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/114759/nrf5340-understanding-application-core-to-network-core-interface-changes-in-dfu</link><description>Hi, 
 I&amp;#39;m a bit confused regarding the DFU process for the nRF5340: Under what conditions would the interface between the application core and the network core change? 
 I need to implement FOTA over BLE, but I don&amp;#39;t have access to any external flash</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 18 Sep 2024 18:30:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/114759/nrf5340-understanding-application-core-to-network-core-interface-changes-in-dfu" /><item><title>RE: nRF5340: Understanding Application Core to Network Core Interface Changes in DFU</title><link>https://devzone.nordicsemi.com/thread/502993?ContentTypeID=1</link><pubDate>Wed, 18 Sep 2024 18:30:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf44211c-1e26-4fc9-a639-021a9b5e9a58</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Your concerns are valid. When it comes to updating the cores of a device, there are indeed risks involved if the device does not support simultaneous updates. I&lt;/span&gt;f future SDK updates introduce changes in the IPC, there is indeed a risk that non-simultaneous upgrades would not be possible. This could potentially block you from updating the device in such a situation.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s important to consider these factors when planning your product launch and to ensure that your devices support simultaneous updates to mitigate these risks.&lt;/p&gt;
&lt;div&gt;-Amanda H.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340: Understanding Application Core to Network Core Interface Changes in DFU</title><link>https://devzone.nordicsemi.com/thread/502857?ContentTypeID=1</link><pubDate>Wed, 18 Sep 2024 06:22:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00c83ae3-40be-4dfd-bcbb-2e86bf95ec33</guid><dc:creator>zhaw-moss</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;Thank you for your confirmation. I appreciate your insights so far.&lt;/p&gt;
&lt;p&gt;To clarify, my previous example was just a simplified toy case to make a point. What I&amp;rsquo;m genuinely concerned about is the risk involved in rolling out a device to production that cannot perform a simultaneous upgrade.&lt;/p&gt;
&lt;p&gt;Specifically, my fear is that if we ship devices and they are deployed in the field, we&amp;rsquo;d only be able to update them successfully until someone changes the IPC implementation. For example, certain features that are currently missing from Nordic&amp;#39;s SoftDevice (like Angle of Departure) will likely be added in future SDK releases. If these updates introduce changes in the IPC&amp;mdash;whether it&amp;#39;s due to modifications in the HCI commands, the RPMsg protocol, or OpenAMP itself&amp;mdash;there&amp;#39;s a risk that we wouldn&amp;rsquo;t be able to perform a non-simultaneous upgrade.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m trying to understand what the real-world risk is for us if we launch a product that doesn&amp;#39;t support simultaneous upgrades. Should we be concerned about future SDK updates requiring simultaneous core updates due to IPC changes? Are there any specific scenarios or changes that could potentially block us from updating the device in such a situation?&lt;/p&gt;
&lt;p&gt;Thanks again for your help. Your guidance on this would be invaluable.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340: Understanding Application Core to Network Core Interface Changes in DFU</title><link>https://devzone.nordicsemi.com/thread/502803?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2024 15:21:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bcebca71-38df-4f98-9d8d-eee9d21f2b65</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="zhaw-moss"]&lt;p&gt;From my understanding, typically, the Controller and Host are split, meaning the IPC would primarily consist of HCI commands, which are handled over OpenAMP using the RPMsg protocol. In this case, as long as the HCI API remains unchanged and OpenAMP remains stable, the interface between the cores should not need modification. The HCI protocol tends to be backward-compatible, with features generally being added rather than modified. So, in theory, the only potential point of concern would be changes in the RPMsg implementation, which should remain stable if the nRF Connect SDK version is consistent.&lt;/p&gt;
&lt;p&gt;Am I on the right track with this thinking?&lt;/p&gt;[/quote]
&lt;p&gt;&lt;span&gt;Your understanding is correct.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user="zhaw-moss"]&lt;p&gt;For instance, consider an application that only does BLE advertising, such as transmitting temperature data from a sensor. If I later update the application to also support ANT+ advertising, I would enable multiprotocol services and first update the application core. In that scenario, I would expect the app to handle HCI errors gracefully while attempting to use the new multiprotocol features, meaning I could still proceed with a subsequent network core update to add the actual multiprotocol support. Alternatively, I could compile a more comprehensive Controller stack to potentially avoid network core updates altogether.&lt;/p&gt;
&lt;p&gt;I suspect I might be overlooking something here. What are your thoughts on this approach?&lt;/p&gt;[/quote]
&lt;p&gt;&lt;span&gt;Your approach seems reasonable if the requirement for the&amp;nbsp;IPC is still the same at that time.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340: Understanding Application Core to Network Core Interface Changes in DFU</title><link>https://devzone.nordicsemi.com/thread/502678?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2024 06:11:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e49beb1-9317-419c-9756-c0aa2b0eb837</guid><dc:creator>zhaw-moss</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;Thank you for your reply. I appreciate the clarification on how the IPC between the network core and the application core works. However, my question is more about understanding the specific scenarios where the interface between the cores would change.&lt;/p&gt;
&lt;p&gt;From my understanding, typically, the Controller and Host are split, meaning the IPC would primarily consist of HCI commands, which are handled over OpenAMP using the RPMsg protocol. In this case, as long as the HCI API remains unchanged and OpenAMP remains stable, the interface between the cores should not need modification. The HCI protocol tends to be backward-compatible, with features generally being added rather than modified. So, in theory, the only potential point of concern would be changes in the RPMsg implementation, which should remain stable if the nRF Connect SDK version is consistent.&lt;/p&gt;
&lt;p&gt;Am I on the right track with this thinking?&lt;/p&gt;
&lt;p&gt;For instance, consider an application that only does BLE advertising, such as transmitting temperature data from a sensor. If I later update the application to also support ANT+ advertising, I would enable multiprotocol services and first update the application core. In that scenario, I would expect the app to handle HCI errors gracefully while attempting to use the new multiprotocol features, meaning I could still proceed with a subsequent network core update to add the actual multiprotocol support. Alternatively, I could compile a more comprehensive Controller stack to potentially avoid network core updates altogether.&lt;/p&gt;
&lt;p&gt;I suspect I might be overlooking something here. What are your thoughts on this approach?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340: Understanding Application Core to Network Core Interface Changes in DFU</title><link>https://devzone.nordicsemi.com/thread/502662?ContentTypeID=1</link><pubDate>Mon, 16 Sep 2024 20:53:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8f3359d6-7658-480a-8f84-1df49354418c</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The interface between the network core and the application core in nRF5340 is managed through Interprocessor Communication (IPC). IPC allows for inter-core communication between the two cores. Communication between the application core and the network core happens through a shared memory area. The application core memory is mapped to the network core memory map, which means that the network core can access and use the application core memory for shared memory communication.&lt;/p&gt;
&lt;p&gt;If you update the interface between the net and app cores, you must update them at the same time. If not, you will not be able to update the second core after the first one has been updated.&lt;/p&gt;
&lt;div&gt;Regards,&lt;br /&gt;Amanda H.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>